Назад | Перейти на главную страницу

Перенаправить всю почту на локальную учетную запись во время разработки

Я разрабатываю интернет-магазин. Когда заказ размещен, он рассылает счета и уведомления коллегам по электронной почте. Разработка чего-либо, связанного с электронной почтой, стала действительно раздражающей, поскольку мне приходилось изменять много кода во время разработки, чтобы не отправлять моим коллегам случайные письма.

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

Вкратце: есть ли простой способ перенаправить исходящую электронную почту во время разработки?

Правильный способ: настроить sendmail.

Интересный способ: все, что делает ваш php-скрипт, - это отправка текста и заголовков почты в bash-скрипт или двоичный набор в php.ini sendmail_path. Вы можете поместить туда свой собственный сценарий, который будет делать с вашей почтой все, что вы хотите.

Или вы ничего не можете добавить sendmail_path и установить некоторые mail.log. Вы увидите, что скрипты правильно используют почту, но она не будет работать.

Добавьте на свой sendmail.mc:

LOCAL_RULE_2
R$+ < @ $=w . > $*     username < @ example.com. >

Две стороны выражения разделяются не множеством пробелов, а TAB.