簡體   English   中英

PHP郵件功能未發送

[英]PHP mail function not sending

由於某些原因,我的PHP郵件未發送。

這是我的腳本:

$tom = $email;
$subjm = 'Company: Forgotten password';
$msgm = "-- DO NOT REPLY TO THIS EMAIL --\nHi,\nYou have forgotten your password.\nHereby we want to supply a you a new one.\nNew password: $pass";
$msgm = wordwrap($msgm, 70);
$mail_sent = @mail($tom, $subjm, $msgm);
echo "$tom <br /> $subjm <br /> $msgm";
echo $mail_sent ? "Mail sent" : "Mail failed";
echo "<br />Your new password has been sent to the email you've signed up with.<br />If you can't find the email, please wait a few minutes or check your spam box.";

但是,它總是給我“郵件失敗”,並且在郵箱中看不到它。 我檢查了我的腳本( $email )是否生成了正確的emailadress,並且確實如此。 所以我有點迷茫,為什么它不發送。

您需要提供from地址才能符合RFC。 mail的返回值也不會告訴您郵件是否已發送。 它只會告訴您基礎郵件服務器是否接受了郵件。

為了更優雅地發送郵件,不僅可以使用本地sendmail,而且可以通過任何SMTP服務器發送郵件,請查看phpmailer

作為評論的后續,我聯系了我的虛擬主機。 他們告訴我,我無法使用郵件功能向不在域中的收件人發送電子郵件。 我正在與他們解決問題。

編輯:

我需要添加一個發件人:,發件人的emailadress應該是@ mydomain.com地址,而不是外部地址。 現在可以使用了。

暫無
暫無

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

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