0

我正在尝试解决一个问题。带有附件的电子邮件将发送到垃圾邮件文件夹。以前我遇到过类似的问题,这些是 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")) {
4

1 回答 1

0

编辑#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);
?> 
于 2013-08-16T11:37:11.200 回答