我正在使用此代码发送电子邮件:
$email="abc@gmail.com";
$to = $email;
$subject = "Test mail";
$message1 = '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<div style="width:80%;">
<table style="margin: 10px 20px 10px 20px;">
<tr><td>Hello!'." ".'</td></tr>';
$message1.=$mailmessage;
$message1.=
'<tr><td>Please find attachments for dailyreport.</td></tr>
<tr><td><br>' . "Thanks and Regards with ". '</td></tr>
</table></div>
</body>
</html>';
$from = "admin@feed.com";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= 'From: ' . $from . "\r\n";
if(mail($to,$subject,$message1,$headers)) {
"mail sent";
} else {
"email does not exist";
}
要发送附件,我需要将内容类型更改为Content-Type: multipart/mixed;\n
。但HTML上下文将会改变。如何将文件附加到此HTML?
答案 0 :(得分:1)
如果您想编写自己的脚本,请结帐this link
但我强烈建议您使用自定义库,例如PHPMailer http://code.google.com/a/apache-extras.org/p/phpmailer/
PHPMailer是一个PHP电子邮件传输类,包含文件附件,SMTP服务器,CC,BCC,HTML消息,自动换行等。通过sendmail,PHP mail(),QMail或直接通过SMTP发送电子邮件。将支持其他传输,如SMS,MMS即将推出
答案 1 :(得分:0)
您应该尝试使用此代码来获取标题信息
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
答案 2 :(得分:0)
你有一些特殊的电子邮件附件标题,不要担心我们有一个名为sendMail的php类,下载并学习@ PHP sendMail class