Можно ли разрешить отправку почты PHP только на определенные адреса электронной почты на уровне php.ini? - PullRequest
3 голосов
/ 15 апреля 2011

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

существует ли способ применить белый список на уровне php.ini (или на каком-либо другом низком уровне) адресов электронной почты, которые mail () также разрешено отправлять?

У других людей есть умные способы избежать этой проблемы?

Ответы [ 3 ]

3 голосов
/ 15 апреля 2011

Я бы сделал это на уровне SMTP.Настройте его там, чтобы PHP использовал определенный SMTP-сервер, предназначенный только для разработки.

0 голосов
/ 15 апреля 2011

Не на этом уровне, но есть различные обходные пути:

  • установите ваш исходящий SMTP-сервер на тот, который не пересылает почту (т.е. запрещает пересылку на SMTP-сервер; это может быть самым простым, поскольку вам не нужно обрабатывать фильтрацию в любом месте вашего кода)
  • используйте обертку, такую ​​как phpMailer, и расширьте ее метод send (), выполните там фильтрацию (полезно, поскольку вы можете изменить фактического получателя, например, your.own.address@example.com, так что вы все равно увидите, что письма отправляются, но перенаправляются на себя)
0 голосов
/ 15 апреля 2011

Почему бы не настроить maintenance mode для вашего сайта?

if ($maintenance_mode) {
    // only send mail to admin
} else {
    // send mail to users
}
...