我有一个PHP脚本,一旦有人提交了一些信息发送附件的电子邮件。我在我的Gmail收件箱中收到了这些电子邮件,没有任何问题。但是,当我使用我的个人电子邮件地址或我的工作电子邮件地址时,电子邮件从未交付。这是我的脚本(下面)或我在服务器上设置的一些问题吗?我认为这可能是一个头问题,但每次我改变头,他们打破了电子邮件,一切都出现在消息体。有谁知道如何解决这一问题? 服务器是客户端管理的Linux服务器,带有一个plesk控制面板,所以我无法访问php ini文件。Php mail()邮件发送到达gmail帐户,但不是在普通的电子邮件帐户
//define the receiver of the email
$to = '[email protected]';
//define the subject of the email
$subject = 'Email with Attachment';
//create a boundary string. It must be unique
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time()));
//define the headers we want passed. Note that they are separated with \r\n
$mime_boundary = "<<<--==+X[".md5(time())."]";
$path = $_SERVER['DOCUMENT_ROOT'].'/two/php/';
$fileContent = chunk_split(base64_encode(file_get_contents($path.'CTF_brochure.pdf')));
$headers .= "From: [email protected] <[email protected]>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed;\r\n";
$headers .= " boundary=\"".$mime_boundary."\"";
$message = "This is a multi-part message in MIME format.\r\n";
$message .= "\r\n";
$message .= "--".$mime_boundary."\r\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$message .= "Content-Transfer-Encoding: 7bit\r\n";
$message .= "\r\n";
$message .= "Email content and what not: \r\n";
$message .= "This is the file you asked for! \r\n";
$message .= "--".$mime_boundary."" . "\r\n";
$message .= "Content-Type: application/octet-stream;\r\n";
$message .= " name=\"CTF-brochure.pdf\"" . "\r\n";
$message .= "Content-Transfer-Encoding: base64 \r\n";
$message .= "Content-Disposition: attachment;\r\n";
$message .= " filename=\"CTF_brochure.pdf\"\r\n";
$message .= "\r\n";
$message .= $fileContent;
$message .= "\r\n";
$message .= "--".$mime_boundary."\r\n";
//send the email
$mail_sent = mail($to, $subject, $message, $headers);
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent" : "Mail failed";
喜德鲁。当您发送给其他非Gmail账户时,输出为“邮件发送”或“邮件失败”。你尝试发送到另一个Gmail帐户? – mauris 2009-09-13 02:14:42
输出每次都是邮件发送 – Drew 2009-09-13 08:26:43