Как настроить 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.