我无法通过sendmail在我的PHP/Apache docker容器上发送电子邮件。我想知道如果有人有一个简单,直接的解决方案。我不是任何系统/服务器专家,我的smtp/sendmail专业知识也同样令人沮丧。先谢谢您的帮助。Docker PHP/Apache容器 - 尝试发送邮件时Sendmail 553错误“发件人地址域不存在”
下面是我recieiving错误:
sendmail: 553 5.1.8 <[email protected]>... Domain of sender address [email protected] does not exist
显然Apache是我的用户,而这些东西右边是我的搬运工集装箱ID。在传递的pHp Mail参数中有一个“From:”标题值,所以不知道为什么它默认为这样。
根据以下评论的要求,我添加了正在使用的“邮件”功能。我可以确认这个函数中有数据,特别是包含From地址的“$ this-> headers”。
应该注意的是,我在非集装箱环境中运行完全相同的代码,并且电子邮件发送得很好,所以我认为这是一个容器配置问题。这些是我修改过的php.ini的区域。有什么我应该找的?
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
我改变“本地主机”在我的非集装箱环境列出的SMTP服务器,在容器中重新启动Apache的,但仍然收到上述错误信息。
我能够通过telnet使用下面评论中列出的参考(谢谢@ mark91)连接到我的外部SMTP服务器。这是我的输出/抄本。我应该提到我的电子邮件从未实际收到,但是(我将自己列为收件人)。我用*******的屏蔽了信息
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
该ID也用作容器。你并没有在这里处理Docker问题,而是遇到了PHP问题。您应该发布结束该电子邮件的代码。 – 2014-10-30 22:01:18