【问题标题】:Email with attachments going to Spam folder - VPS Server带有附件的电子邮件进入垃圾邮件文件夹 - VPS 服务器
【发布时间】:2013-08-18 18:27:40
【问题描述】:

我正在尝试解决一个问题。带有附件的电子邮件将发送到垃圾邮件文件夹。以前我遇到过类似的问题,这些是 HTML 电子邮件。但这里带有附件。如果我没有在标题电子邮件中添加“发件人”,则会进入收件箱(用户名@vps.mydomain.com)。实际上,我正在尝试更改此发件人电子邮件,以便它不会进入垃圾邮件。我已经设法更改了标题中的“发件人”,但它仍然是垃圾邮件。

我也尝试了“-f”概念,但它仍然是垃圾邮件。

这是带有附件的标题和消息

$header .= "MIME-Version: 1.0\r\n";  
//$header .= 'From: Move <info@ccc.com>' . "\r\n";  
//$header .= "Reply-To: ".$replyto."\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$message = "This is a multi-part message in MIME format.\r\n\r\n";
$message .= "--".$uid."\r\n";
$message .= "Content-type:text/html; charset=iso-8859-1\r\n";  
$message .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$message .= $emailtext."\r\n\r\n";
$message .= "--".$uid."\r\n";
$message .= "Content-Type: application/pdf; name=\"".$filename."\"\r\n";
$message .= "Content-Transfer-Encoding: base64\r\n";
$message .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";    
$message .= $content."\r\n\r\n";
$message .= "--".$uid."--";   

if (mail($email, $subject, $message, $header, "-finfo@ccc.com")) {

【问题讨论】:

  • 也许,这也取决于主题/标题和内容。
  • @WouterHuysentruit 我也更改了消息(Paintext)和主题。仍然是垃圾邮件
  • 原因是,您将标题信息插入到您的message。在正确连接的同时将所有$message 更改为$header,然后添加$message="" 并继续。
  • @Fred。是的,我注意到我尝试了这里给出的新样本stackoverflow.com/questions/9519588/…
  • @Fred 它也会进入垃圾邮件文件夹。在那个例子中,他们将这些内容类型添加到我的错误的标题中。

标签: php html-email


【解决方案1】:

编辑 #2:(PDF 附件)

您将需要输入您的$_POST 变量,但如果您按原样尝试,包括您要发送的 PDF 文件,它将自行运行。将代码中file.pdf 的所有实例更改为您希望附加的文件名以及您的电子邮件地址。 (测试

<?php
$sendto = "email@example.com";
$message = "Message here\r\n Hello, this is a test!!";

$filename = "file.pdf";
$handle = fopen($filename, 'rb');
$contents = fread($handle,filesize($filename));
fclose($handle);
$encoded = chunk_split(base64_encode($contents));

$seperator = md5(uniqid(time()));
$from = '"First Last" <username@domain.com>';
$header = '';
$header .= "From: $from\r\n";
$header .= "MIME-Version: 1.0\r\nContent-Type:"." multipart/mixed; boundary=\"$seperator\";\r\n";


$body.= "--$seperator\r\n";
$body.= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$body.= "Content-Transfer-Encoding: 7bit\r\n\n";
$body.= $message."\r\n\n";

$body.= "--$seperator\r\n";
$body.= "Content-Type: application/pdf; name=\"file.pdf\"\r\n";
$body.= "Content-Transfer-Encoding: base64\r\n";
$body.= "Content-Disposition: attachment; filename=\"file.pdf\"\r\n\n";
$body.= $encoded."\r\n";
$body.= "--$seperator--\r\n";

mail($sendto,$subject, $body, $header);
?> 

【讨论】:

  • 形成 VPS 主机 - 它在没有附件的情况下进入收件箱,但附件的 PDF 没有通过电子邮件发送。
  • @Parthi04 啊,所以它是一个 PDF,这可能会有所作为。我有另一个脚本。几分钟后让你知道。将用新代码清除我的答案。
  • @Parthi04 请参阅我的编辑#2。经过测试
  • 我认为 VPS 主机正在制造这些问题。我尝试了一些示例代码。它们都不起作用。一切都进入垃圾邮件
  • @Parthi04 我也倾向于这样认为。抱歉,我的代码不起作用。如果你愿意,我可以删除我的答案。
猜你喜欢
  • 1970-01-01
  • 2011-06-29
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
  • 2018-02-27
  • 2020-12-18
  • 1970-01-01
相关资源
最近更新 更多