2014-10-30 1 views
0

У меня возникла проблема с отправкой электронной почты на моем контейнере док-станции PHP/Apache через sendmail. Мне интересно, есть ли у кого-то простое прямое решение. Я не эксперт по системам и серверам, и мой опыт smtp/sendmail не менее впечатляет. Заранее спасибо за помощь.Docker PHP/Apache Container - Sendmail 553 Ошибка «Домен адреса отправителя не существует» при попытке отправки почты

Ниже ошибка я recieiving:

sendmail: 553 5.1.8 <[email protected]>... Domain of sender address [email protected] does not exist 

Очевидно Апач мой пользователь, и что материал справа мой докер контейнер ID. В значениях параметра pHp Mail указано значение заголовка «From:», поэтому не уверен, почему он не выполняет этого.

В соответствии с приведенным ниже замечанием, я добавляю функцию «почта», которая используется. Я могу подтвердить, что в этой функции есть данные, в частности «$ this-> headers», который содержит адрес From.

Следует заметить, что я использую тот же самый код в неконтейнерной среде, и электронная почта отправляется в порядке, поэтому я считаю, что это проблема конфигурации контейнера. Это области php.ini, которые я изменил. Есть ли что-то еще, что я должен искать?

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

Я изменил «локальный» на сервер SMTP, перечисленный в моей неконтейнерной среде, перезапущен апач в контейнере, но все же получил сообщение об ошибке выше.

Я могу подключиться к внешнему SMTP-серверу через telnet, используя ссылку, указанную в комментариях ниже (спасибо @ mark91). Это мой вывод/расшифровка. Я должен упомянуть, что мое электронное письмо никогда не получалось, однако (я перечислил себя как получателя). Я замаскировал информацию с помощью *******'s

telnet smtp.service.******* 25 
Trying *******... 
Connected to *******. 
Escape character is '^]'. 
220 ******* ESMTP smtp.service Fri, 31 Oct 2014 14:29:16 -0400 
HELO ******* 
250 ******* Hello [*******], pleased to meet you 
MAIL FROM: ******* 
250 2.1.0 *******... Sender ok 
RCPT TO: ******* 
250 2.1.5 *******... Recipient ok 
DATA 
354 Enter mail, end with "." on a line by itself 
Hello 
. 
250 2.0.0 s9VITGpm030795 Message accepted for delivery 
+0

Этот идентификатор также используется как имя хоста контейнер. Вы не имеете дело с проблемой Docker здесь, но с проблемой PHP. Вы должны отправить код, который заканчивает это письмо. –

ответ

0

Как вы отправляете данное электронное письмо на PHP? По крайней мере, вы можете правильно настроить свой файл php.ini, чтобы установить правильное значение в качестве smtp-сервера. Более того, если вы используете функцию PHP mail, вы должны поместить в качестве параметра $ header строку, содержащую «From: [email protected] \ r \ n» ...

+0

Привет, спасибо за ответ. Я использую функцию почты PHP, и есть значение «От:», которое передается в эту функцию. Параметры моего SMTP-сервера php.ini совпадают с настройками другой среды, в которой я работаю, поэтому я подозреваю, что есть проблема с моей конфигурацией контейнера базы docker, но как относительная noob ... Я не уверен, что еще попробовать. – daniel9x

+0

вы могли бы попытаться подключиться к telnet из контейнера в порт 25 вашего сервера smtp и отправить ему письмо? что происходит в этом случае? – mgaido

+0

Да, если я попытаюсь отправить тестовое сообщение по электронной почте через командную строку, когда я нахожусь в контейнере докера, я получаю ту же ошибку. Очевидно, что я не правильно настроил sendmail в своем контейнере. Я не совсем уверен, как установить telnet на порт 25. Можете ли вы поделиться примером? – daniel9x

Смежные вопросы