Отключить PHP, отправляющий по почте на Mac OS?

Я разрабатываю веб-приложение в PHP, и мой MacBook, рабочий Snow Leopard, на самом деле посылает электронные письма, когда почту PHP () функция называют. Это посылает клиентам по электронной почте, и это ПЛОХО.

Я МОГ предотвратить это в своем коде, но я скорее просто отключу отправку по почте для своей машины. Существует ли способ сделать это в соответствии с Mac OS?

5
задан Chad Johnson 15 December 2009 в 21:26
поделиться

6 ответов

Обычно я использую класс-оболочку для mail (), который проверяет наличие константы (что-то вроде DEBUG_MODE) и отправляет мне письмо вместо исходного получателя (и включает всех исходных получателей в тело почты, чтобы я мог подтвердить, что все работает). В первый раз это немного лишняя работа, но это означает, что мне не нужно беспокоиться об отправке электронной почты «настоящим» людям, но я все еще знаю, что все работает.

Я опубликовал простой пример . В него можно было бы внести множество улучшений (обработка заголовка, проверка того, что поля cc и bcc также были удалены), но это поможет вам большую часть пути домой.

3
ответ дан 14 December 2019 в 04:39
поделиться

Это означает, что в какой-то момент вы должны были установить sendmail (или что-то такое, что притворяется sendmail), но вам, вероятно, следует предотвратить это в своем коде в дополнение к его отключению.

1
ответ дан 14 December 2019 в 04:39
поделиться

Почему бы не переместить адрес электронной почты в файл конфигурации, а затем на вашем компьютере использовать другой набор адресов? Подобные вещи не должны жестко закодироваться в приложении.

Например, в моих приложениях у меня есть база данных Config, в которой хранится вся эта информация. Когда приложение работает, в таблице конфигурации задаются фиктивные или безопасные адреса / информация. Таким образом, вы не

2
ответ дан 14 December 2019 в 04:39
поделиться

Вы можете попробовать опцию disable_functions в php.ini.

например: disable_functions = mail

-1
ответ дан 14 December 2019 в 04:39
поделиться

У вас должна быть возможность закрыть mail (), изменив параметр SENDMAIL_PATH . Документация здесь

0
ответ дан 14 December 2019 в 04:39
поделиться

Спасибо за сообщения. Вот мое решение.

Я переместил /usr/sbin/sendmail в /usr/sbin/sendmail.original и заменил /usr/sbin/sendmail на фиктивный скрипт sh. Я не хочу, чтобы эта машина когда-либо отправляла электронную почту.

Я также реализовал второе решение, в котором я проверяю, является ли текущая машина машиной разработки, и если да, то никакая электронная почта не рассылается. Для этого я использую флаг Config::get('IS_DEVELOPER').

.
3
ответ дан 14 December 2019 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: