我在网上找到了前10个堆栈溢出问题和其他资源的解决方案,然后在这里发布我的问题;
我有一个在GoDaddy上托管的php网站试图向Office365发送电子邮件(虽然在发送到我的Gmail时会出现相同的缺陷)。最初开发3年前,它会发送电子邮件没问题,去年某个时候它停止发送电子邮件。
以前使用的原始代码
$admin_email = "email@domain.com";
$email = $_REQUEST['email'];
$message = $_REQUEST['message'];
$message = 'FROM: ' . $email . "\r\n" . $message;
mail($admin_email, "New Message", $message, "From:" . $admin_email);
我也尝试过使用各种选项的PHPMailer。
这两个不是错误但我从未收到过电子邮件。
$mail = new PHPMailer;
$mail->Host = "relay-hosting.secureserver.net";
$mail->Port = 25;
$mail->SMTPDebug = 0;
$mail->SMTPSecure = "none";
$mail->SMTPAuth = false;
$mail->Username = "";
$mail->Password = "";
$mail->SMTPDebug = 0;
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'localhost';
$mail->Port = 25;
$mail->ssl = false;
$mail->authentication = false;
这一个抛出SMTP -> ERROR: Failed to connect to server
$mail = new PHPMailer;
$mail->SMTPDebug = 2;
$mail->IsSMTP();
$mail->Host = 'localhost';
$mail->SMTPAuth = false;
所有内容均以
发送 $mail->From = $from;
$mail->FromName = $admin_email;
$mail->AddAddress($email);
$mail->Subject = "New Message";
$mail->Body = $message;
$mail->IsHTML(true);
$mailresult = $mail->Send();
我还确保域名具有以下txt记录
NETORGFT1413837.onmicrosoft.com
v=spf1 include:spf.protection.outlook.com -all
v=spf1 include:secureserver.net -all
是的,我检查了垃圾/垃圾邮件文件夹
常规php邮件程序mail($to,$subject,$message,"From:email@address.com");
发送到gmail垃圾文件夹并不能访问Office365帐户
答案 0 :(得分:0)
常规php邮件($ to,$ subject,$ message,“发件人:email@address.com”);发送到gmail垃圾文件夹无法访问Office365帐户
我认为将其转到Gmail中的垃圾文件夹的原因是,未验证通过PHP的mail()函数通过GoDaddy发送的电子邮件。我还尝试利用SPF记录来解决此问题,但未成功。
如果您有Gmail帐户,可能会感兴趣的一种解决方法。
要求: Gmail帐户,XAMPP或类似的本地Web服务器,PHPMailer库 (有关如何使用XAMPP和PHPMailer的教程,可在在线上找到)
说明:
转到您的Gmail帐户中的“设置”。在“帐户和导入”下, 在“发送邮件为”部分中添加“ youraccount@domainyouown.com”。
在您的PHP脚本中(使用PHPMailer库),将以下代码行中的凭据替换为您的Gmail凭据和您要从其发送的帐户:
$mail->Username = 'username@gmail.com';
$mail->Password = 'yourpassword';
$mail->setFrom('youraccount@domainyouown.com', 'Your Name');
$mail->addReplyTo('youraccount@domainyouown.com', 'Your Name');
此方法的其他优点: