8

我正在使用 PHPMailer 从我的网站发送自动电子邮件,在测试时,我注意到 php mailer 发送的所有电子邮件都在收件人端生成以下警告:

此邮件的发送者可能不是:foo@gmail.com 了解更多 报告网络钓鱼

我想知道是否有办法避免这种情况?

PHP邮件程序代码:

//mail functions
require("mailer/class.phpmailer.php");
require("mailer/class.smtp.php");
require("mailer/class.pop3.php");

$mail = new PHPMailer();
$mail->IsSMTP();  
$mail->Host = "relay-hosting.secureserver.net";
$mail->Port = 25;  
$mail->IsHTML(true);
$mail->Username = "foo@gmail.com";  // SMTP username
$mail->Password = "pass"; // SMTP password

$mail->From = "foo@gmail.com";
$mail->FromName = "FOO";
$mail->AddAddress("fOO@gmail.com", "WIDB");
$mail->AddReplyTo("foo@gmail.com");
//$mail->AddAddress("foo@gmail.com");                  // name is optional

$mail->WordWrap = 50;                                 // set word wrap to 50 characters
//$mail->AddAttachment("/var/tmp/file.tar.gz");         // add attachments
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");    // optional name
$mail->IsHTML(true);                                  // set email format to HTML

$mail->Subject = 'Foo - Transaction Receipt';
$mail->Body    = $message;
$mail->AltBody = "nothing";

//send mail
$mail->Send();

我正在使用 GMail 并且启用了 SMTP...

4

2 回答 2

11

您可以为您的网站设置 google 应用程序并获得一个 Username@yourwebsite.com gmail 帐户(更多信息在这里它是免费的),或者您需要在您当前的服务器上设置一个电子邮件地址,即 Username@yourwebsite。 com 并将其用作 $mail->from 地址。

您的电子邮件收件人收到邮件是因为您告诉 google 从您的服务器发送电子邮件,然后您告诉他们邮件来自 gmail,但事实并非如此,它来自您的个人服务器. 由于发件人地址和您的服务器地址不匹配,他们将其标记为垃圾邮件。这是 google 防止垃圾邮件的方式,对他们来说,如果你输入 $mail->from(YOURMOM@LOL.com) 就会一样。电子邮件仍会发送,但您的域名与 @ 地址不匹配。

于 2012-07-30T18:21:12.420 回答
-1

除了遵循上述准则之外,我注意到这里可能对某人有所帮助。

当我发送带有正文“请检查附加的工单”和 pdf 附件的电子邮件时,gmail 显示它并带有垃圾邮件警告(在收件箱内)

当我发送带有正文“您的工作订单已附加”和相同 pdf 附件的电子邮件时,gmail 没有显示任何警告。

我正在使用 java api 发送电子邮件

于 2015-04-09T13:44:45.730 回答