smtp — Docker PHP / Apache Container — Sendmail 553 Ошибка & quot; Домен адреса отправителя не существует & quot; при попытке отправить почту

У меня проблемы с отправкой электронной почты через мой докерский контейнер PHP / Apache через sendmail. Мне интересно, есть ли у кого-то простое, прямолинейное решение. Я не эксперт по системам / серверам, и мой опыт работы с smtp / sendmail также не впечатляет. Заранее спасибо за помощь.

Ниже приведена ошибка, которую я получаю:

sendmail: 553 5.1.8 <apache@a0aca7313106>... Domain of sender address apache@a0aca7313106 does not exist

Ясно, что apache — мой пользователь, а то, что справа, — это мой идентификатор док-контейнера. В передаваемых параметрах pHp Mail есть значение заголовка «From:», поэтому не уверен, почему это по умолчанию.

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

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

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

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

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

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

Решение

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]