Linux

發送郵件配置?

  • November 14, 2010

我想從 C++ 程序發送電子郵件。

我想用sendmail來做。好吧,實際上我不在乎如何,我只是發現沒有一個 smtp 庫工作……

我通過Google找到的方法是:

echo "This will go into the body of the mail." | mail -s "Subject line" you@youremailid.com

問題是,郵件永遠不會到達目的地。現在我覺得很奇怪:難道不需要 smtp-server URL 嗎?比如 smtp.my-provider.com:25 ?

Sendmail 將嘗試查找您要發送到的域的 MX 記錄,因此預設情況下您不必指定 SMTP 伺服器的地址或主機名。如果您確實需要強制使用特定地址,可以通過 DNS 或 Sendmail mailertable 文件中的條目來處理。

您應該首先嘗試確定您的原始消息發生了什麼。嘗試從您的應用程序發送並執行:

tail -f /var/log/maillog

您也可以使用“mailq”命令直接查看郵件隊列。如果該命令返回輸出,您可以嘗試使用“sendmail -v -q”強制處理隊列。這將揭示錯誤的性質。

還要檢查根使用者的電子郵件是否有退回郵件。

引用自:https://serverfault.com/questions/201703