ОТКЛЮЧИТЬ все почтовые функции в Ubuntu [закрыто]

У меня есть стандартная промежуточная среда на сервере Ubuntu (LAMP) с парой веб-страниц на ней.

Есть некоторые веб-страницы, которые отправляют электронные письма о конкретных событиях рабочего процесса.

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

Отключение определенной части кода или изменение настроек веб-страницы - не лучший сценарий, так как система должна быть настроена, как в производственной среде, плюс может быть в нескольких местах (или резервный сценарий, если одно из опции отключены) и рисковать не могу.

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

У меня есть полный доступ к серверу и базовые навыки работы с Linux.

обнаружил, что эта ведьма выглядит неплохо для начала:

sudo /etc/init.d/sendmail stop

Но мне нужно знать, как, если есть другие возможные почтовые службы,
как проверить, работают ли они,
{{1 }} как их остановить,
как проверить.

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

4
задан 8 August 2014 в 16:15

1 ответ

Если Вы останавливаете целый почтовый сервер как это (/etc/init.d/sendmail stop) можно встретиться с некоторыми трудностями протестировать правильно код. Например, при прохождении через действия, которое отправляет почту, она может ожидать слишком долго и генерировать тайм-аут, потому что почтовый сервер не, ведя Вам думающий, что Ваш код не функционирует.

Мой индивидуальный подход к предмету не состоит в том, чтобы остановить почтовый сервер, но он должен действовать на уровне кода и на системном уровне:

  1. В первую очередь, если необходимо отправить почту, у Вас не должно быть полного почтового сервера как Sendmail или Postfix или установленный Qmail. Можно просто установить ssmtp пакет, которого является достаточно для отправки почты с помощью почтового реле, настроенного в /etc/ssmtp/ssmtp.conf.
  2. Если Ваше приложение отправляет почту при помощи локального двоичного файла как mail или sendmail, остановка почтового сервера не может быть решением: письма могут быть поставлены в очередь локально и если Вы запустите снова почтовый сервер, то все накопленные письма будут отправлены сразу.
  3. Мое идеальное решение состояло бы в том, чтобы отправить почту с помощью протокола SMTP непосредственно из приложения, путем соединения с IP-адресом и портом (значение по умолчанию 25), возможно использования имени пользователя и пароля для обеспечения аутентификации.
  4. Если Ваше приложение может отправить почту на реле (быть локальным или внешним), удостоверьтесь, что это не hardcoded в Вашем коде, но определенный через конфигурационный файл, выделенный Вашему приложению. То же должно запросить целевые адреса электронной почты.
  5. Если Вы уважаете предыдущую точку, то можно создать сервер подготовки который другая почтовая конфигурация. Конфигурация сервера подготовки может быть должна отправить почту в Ваш персональный адрес электронной почты.
  6. Этот подход как преимущества, чтобы позволить Вам тестировать почтовые технические возможности также, не тревожа настоящее место назначения производственных писем. Также Вы уверены, что сделаете не, создают побочный эффект отключения почтового сервера.
2
ответ дан 17 November 2019 в 15:21

Другие вопросы по тегам:

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