У меня есть VPS-сервер на UltraHosting.com, и мне необходимо использовать «Smart Relay» при отправке писем. Однако я не могу отправлять почту с помощью функции php mail ().
Вот их статья о Smart Relay: support.ultrahosting.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=142
Показанный там параметр находится в моей конфигурации Exim.
Я также попытался настроить свой sendmail, как предлагается здесь http://support.ultrahosting.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=175&nav=0
Однако я не могу найти свой sendmail.cg на своем сервере CentOS. Команда "whereis sendmail.cf" говорит sendmail: / usr / sbin / sendmail / usr / lib / sendmail
Сервер использует cpanel и exim
Я отправил следующий запрос в службу поддержки:
Как настроить сервер для отправки почты с помощью php. Я пишу сценарий, который будет отправлять пользователям пароли с использованием почтовой функции PHP. Однако отправленные электронные письма никогда не доставляются. Это связано с «умным реле»? Любое руководство о том, как это настроить?
Ответ был:
While we do not provide scripting support of any kind, if you simply
убедитесь, что интеллектуальный хост жестко запрограммирован в вашем сценарии (аутентификация не требуется), электронное письмо должно быть переадресовано соответствующим образом.
If your script uses the server's SMTP server to send out email, you'll
необходимо убедиться, что MTA настроен для использования смарт-хоста
.
Может ли кто-нибудь пояснить, что мне нужно сделать, чтобы исправить это, чтобы я мог использовать почтовую функцию PHP?
В разделе маршрутизаторов вашей конфигурации exim у вас будет маршрутизатор, который выглядит примерно так:
lookuphost:
driver = lookuphost
transport = remote_smtp
Это то, что заставляет exim доставлять почту напрямую. Вам нужно указать ему использовать вместо этого smarthost.
Замените указанный выше маршрутизатор на что-то вроде этого:
smarthost:
driver = manualroute
domains= ! +local_domains
transport = remote_smtp
route_list = * smtp.ultrahosting.com byname
host_find_failed = defer
no_more
Убедитесь, что имя транспорта в новом маршрутизаторе такое же, как и в исходном (remote_smtp в этом примере).
Также вам необходимо перезапустить exim после внесения этих изменений.