Как настроить php.ini с удаленным SMTP?


11

Как настроить PHP для отправки почты с помощью mail () через удаленный SMTP-сервер?

Я пытался сделать это с помощью php.ini, но кажется, что вы можете сделать это только под Windows32, и я хочу сделать это на моем Unix-сервере.

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

Ответы:


9

Мой выбор - настроить сервер postfix на том же веб-сервере, который отправлял почту только для localhost, и использовать этот параметр в main.cf для использования удаленного сервера SMTP:

relayhost = [a.b.c.d]

Меня устраивает.


HD, не могли бы вы дать более подробную информацию или указать мне ресурс, который объясняет это. У меня есть аккаунт Google (а также Google Apps), и я считаю, что SMTP требует аутентификации. Google использует TLS для SMTP через порт 587 (а не 25). Где мне указать всю эту информацию?
— Ури

Это лучший ответ на самом деле, потому что вы разгрузите SMTP в постфикс. Если вы отправляете почту через ваше приложение, а удаленный сервер не работает, вы блокируете запрос. Лучший вариант - это передать почтовое сообщение работнику в очереди, чтобы выполнить эту работу, но это хороший первый шаг в правильном направлении.
— Майк

3

Это не возможно, AFAIK. Я бы либо:

  1. Используйте полнофункциональный почтовый класс, такой как PEAR :: Mail .
  2. Если вся почта с этого компьютера должна быть ретранслирована с умом, рассмотрите возможность настройки SSMTP в качестве двоичного файла sendmail.

2

msmtp может использоваться как альтернатива sendmail, которая просто перенаправляет трафик непосредственно на внешний SMTP-сервер. Это довольно легко настроить и работает очень хорошо.


msmtp спас мне жизнь :)
— w00t

1

Вы можете использовать встроенные в PHP инструменты IMAP или очень удобный PHPMailer

Боюсь, лучше ответить на переполнение стека ...


2
+1 за ответ, я не согласен с последующим комментарием, хотя. Обычно системные администраторы получают «забавную часть» настройки SMTP, поскольку не все программисты имеют представление о том, что это такое. Они просто хотят, чтобы электронная почта работала. Конечно, я обобщаю, каламбур не предназначен.
— Андриоид



0

Внутренняя функция mail () может использовать SMTP только на компьютере с Windows, как вы сказали.

Единственный вариант - использование PHPMailer. Вы также можете попробовать пакет PEAR PHP: http://pear.php.net/package/Mail


-1

https://docs.nexcess.net/article/how-to-configure-a-remote-mail-server.html В главном меню SiteWorx выберите Администрирование> Параметры почты> Удаленная установка. - Подробнее см .: https://docs.nexcess.net/article/how-to-configure-a-remote-mail-server.html#sthash.JeroEsDU.dpuf.


Добро пожаловать в сбой сервера! Хотя это теоретически может дать ответ на вопрос, пожалуйста, предоставьте контекст вокруг ссылок, чтобы другие имели некоторое представление о том, что это такое и почему оно есть. Если возможно, суммируйте или процитируйте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно отключен.
— HBruijn
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.