簡體   English   中英

Sendmail 問題:已成功發送但從未到達

[英]Sendmail issue: successfully sent but never arrives

我正在嘗試通過 PHP mail() function 發送郵件,據我所知,它使用 sendmail 來發送郵件。 現在我的問題是 mail() 返回 true 但我的郵箱中甚至沒有郵件的蹤跡(是的,我也檢查了垃圾郵件)。

所以我嘗試從終端手動發送一些郵件,但問題仍然存在。 sendmail 不會給我一個錯誤,除了無法確定域錯誤,我通過將我的開發機器的域添加到 /etc/hosts 並將其與 127.0.0.1 相關聯來修復該錯誤。

andreas@Andreas-PC-Ubuntu:~$ sendmail xxxxxxx@xxxxxxx.com
Test
.
andreas@Andreas-PC-Ubuntu:~$

除了沒有給出任何錯誤,sendmail 還會在 /var/log/mail.log 中記錄郵件已成功發送:

Apr  7 01:16:21 Andreas-PC-Ubuntu sendmail[11759]: q36NGIfD011759: from=andreas, size=5, class=0, nrcpts=1, msgid=<201204062316.q36NGIfD011759@home.hagenz.com>, relay=andreas@localhost
Apr  7 01:16:21 Andreas-PC-Ubuntu sm-mta[11760]: q36NGL1J011760: from=<andreas@home.hagenz.com>, size=299, class=0, nrcpts=1, msgid=<201204062316.q36NGIfD011759@home.hagenz.com>, proto=ESMTP, daemon=MTA-v4, relay=ip6-localhost [127.0.0.1]
Apr  7 01:16:21 Andreas-PC-Ubuntu sendmail[11759]: q36NGIfD011759: to=xxxxxxx@xxxxxxx.com, ctladdr=andreas (1000/1000), delay=00:00:03, xdelay=00:00:00, mailer=relay, pri=30005, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q36NGL1J011760 Message accepted for delivery)

是的,有什么建議嗎?

您確定收件人 SMTP 服務器沒有丟棄(或至少將其列入灰名單)您的郵件嗎? 郵件服務器將不是來自公認的 MX 服務器的郵件視為垃圾郵件是很常見的。

sendmail 是否配置為使用 SMTP 中繼/智能主機? 如果不是,如果您將其配置為使用您的 ISP、雇主或其他托管服務提供商的服務器,會發生什么情況?

您是否在 php.ini 文件中設置了配置?

當我在自己的服務器上設置 php 時(我在服務器 2003 上運行 IIS,使用 Exchange 發送電子郵件),我必須編輯 php.ini 文件來配置郵件 function。

只需取消注釋並為SMTP部分指定我的郵件服務器。

編輯

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

您可能必須執行相同或類似的操作,具體取決於您的 web 服務器環境

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM