Я хочу разрешить приложениям PHP отправлять почту, но в очень ограниченных условиях.
И я не хочу разрешать команду, подобную sendmail, для приложений PHP (я использую chrooted PHP, и это слишком много головной боли), поэтому я отключил mail()
функция в PHP.
Какие параметры у меня есть, чтобы строго разрешить / контролировать отправку приложений PHP через мой постфикс?
AUTH? Должен ли я также потребовать smtpd_sender_restrictions=reject_sender_login_mismatch
?
У меня уже есть smtpd
на порту 587 работает, который использует smtpd_sasl_type=dovecot
но я не думаю, что у приложения PHP когда-либо будет учетная запись на сервере Dovecot IMAP - я полагаю, что большинство приложений PHP будут отправлять почту как «noreply @». Должен ли я создать еще один экземпляр submission
в /etc/postfix/master.cf
?
Да, вы должны включить и принудительно использовать AUTH при отправке. Создайте один адрес электронной почты для каждого домена. Затем сообщите разработчикам / веб-мастеру, что они должны использовать данный пароль пользователя при отправке (и, надеюсь, их приложение PHP поддерживает SMTP с аутентификацией). Вы должны отключить неаутентифицированный почтовый ретранслятор с localhost (в постфиксе). И возможно разрешить (в брандмауэре) исходящий smtp трафик только от postfix. Тогда может быть, ratelimit почту.