PHPMailer发送带有警告的电子邮件:此邮件可能尚未发送:foo@gmail.com了解详情报告网络钓鱼

时间:2012-07-30 17:49:41

标签: php email phpmailer

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

此邮件可能尚未发送:foo@gmail.com了解详情报告网上诱骗

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

PHP Mailer代码:

//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 ...

2 个答案:

答案 0 :(得分:9)

您可以为您的网站设置Google Apps并获取一个Username@yourwebsite.com gmail帐户(more info here免费),或者您需要在当前服务器上设置一个电子邮件地址是Username@yourwebsite.com并将其用作$ mail->来自地址。

您的电子邮件收件人正在接收邮件,因为您要告诉Google从您的服务器发送电子邮件,然后您告诉他们该邮件来自gmail,而不是来自gmail,它来自你的个人服务器。由于发件人地址与您的服务器地址不匹配,因此将其标记为垃圾邮件。这是googles防止垃圾邮件的方式,如果你从(YOURMOM@LOL.com)输入$ mail->就可以了。电子邮件仍会发送,但您的域名与@地址不匹配。

答案 1 :(得分:-1)

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

当我发送带有正文&#34的电子邮件时;请检查所附的工作单"和一个pdf附件,gmail显示它带有垃圾邮件警告(收件箱内)

当我发送一封带有正文&#34的电子邮件时,您的工作单已附上"和相同的pdf附件,gmail没有显示任何警告。

我使用java api发送电子邮件