2

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

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

4 ответа4

3

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

Все, что вам нужно сделать, это установить DEVELOPMENT = TRUE в вашей конфигурации, и вы можете играть, не мешая клиентам!

Ваша локальная конфигурация postfix находится в /etc/postfix . Кажется, в /private/etc/postfix есть дубликат, но я не очень знаком с OSX. В Linux я могу просто удалить демон и остановить запуск службы. Это может вызвать ошибки во время выполнения ваших программ и кажется ненужным.

2

Чтобы частично отключить postfix, запустите sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist

Однако письмо, которое вы пытаетесь отправить, застрянет в /var/spool/postfix/maildrop но не отправит.

1

Самая простая вещь, о которой я могу подумать (если вы используете только веб-почту или Imap), просто на уровне сети (маршрутизатора) заблокируйте исходящий порт 25 с вашего компьютера или используйте брандмауэр OS X и заблокируйте исходящий порт 25.

Если это не сработает, я просто посмотрю на добавление несуществующего ретранслятора в ваш php.ini, чтобы вся почта просто не отправлялась ....

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

1

Вам необходимо отделить среду разработки от среды выпуска.

Это решение вашей реальной проблемы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .