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

как я могу увидеть электронные письма, отправленные моим веб-сервером?

как я могу увидеть электронные письма, отправленные моим веб-сервером?

На самом деле они отправляются через скрипт php. Есть ли способ их отслеживать?

Спасибо

пс. Я использую Ubuntu 10 (и 9) и Lighttpd

Есть много возможностей, все очень сильно зависят от архитектуры вашей системы:

  • Возможно, самый простой способ: позволить сценарию отправлять вам письма с (B) CC-копиями или на специальный адрес для сбора. Это должно быть настроено где-нибудь в сценарии.
  • Если нет, возможно, сценарий где-то регистрирует свои действия или его можно настроить для этого.
  • Конечно, почтовый сервер, который получает почту, что-то регистрирует. Этот сервер также может быть настроен для отправки вам копий.

Как я уже сказал, все зависит от вашей системы, и вы нам ничего об этом не говорите.

Если вы ищете что-то, что поможет вам управлять своей электронной почтой и у вас есть отчеты о состоянии этих писем, взгляните на Почтовое приложение.

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

У нас есть документация по примеры проектов PHP, так что обязательно проверьте это и дайте мне знать, сработает ли это для вас.

(Полное раскрытие: Я менеджер по продукту в PostageApp.)

Вы видели сегодня объявление Amazon о Простая электронная почта?

Выдержка: «Amazon SES предоставляет полезную статистику о ваших действиях по отправке писем. С помощью простого запроса вы можете быстро получить важную статистику, такую ​​как объем отправленных сообщений, отказов и жалоб».

Ура

Независимо от того, как отправляются электронные письма, они должны использовать службу MTA (Mail Transfer Agent). Чтобы отслеживать отправленные электронные письма, перейдите в логи!

Если это сервер Linux, вы можете использовать mailq или проверить очередь postfix. То же самое, если вы используете Sendmail.

Ура.

Еще одна вещь, на которую следует обратить внимание, - это "прекрасные" сценарии Perl, которые часто загружаются на устаревшие сторонние установки CMS. У них часто есть собственные механизмы SMTP, которые избегают ведения локального почтового журнала. К счастью, это относительно легко решить с помощью iptables:

# Allow the root user to initiate outbound connections to port 25
iptables -A OUTPUT -m owner --uid-owner root -p tcp --dport 25 -j ACCEPT
# Allow the mail user to initiate outbound connections to port 25
# This presumes your mail server is running as mail
iptables -A OUTPUT -m owner --uid-owner mail -p tcp --dport 25 -j ACCEPT
# Allow anyone to connect to port 25 on localhost
iptables -A OUTPUT -p tcp -d 127.0.0.1 --dport 25 -j ACCEPT
# Allow anyone to connect to local relay server
iptables -A OUTPUT -p tcp -d relay.example.com --dport 25 -j ACCEPT
# Block all other outbound connections to port 25
iptables -A OUTPUT -p tcp --dport 25 -j REJECT

Это приведет к тому, что вся электронная почта будет отправляться через localhost или локальный ретранслятор, и только почтовый пользователь и пользователь root смогут отправлять исходящую почту. Это предполагает, что вы работаете в Linux и доступен модуль ipt_owner.

Также есть патч заголовка почты для php Вот который поместит имя скрипта, отправляющего почту, в заголовки. Насколько я понимаю, он должен быть частью ядра PHP, но, к сожалению, это не так.