Php 如何发送带有附件的HTML电子邮件?

Php 如何发送带有附件的HTML电子邮件?,php,email-attachments,Php,Email Attachments,我正在使用此代码发送电子邮件: $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

我正在使用此代码发送电子邮件:

$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";
}
$email=”abc@gmail.com";
$to=$email;
$subject=“测试邮件”;
$message1='1
你好。"  ".'';
$message1.=$mailmessage;
$1=
'请查找DailReport的附件。

"。“谢谢你,向你问好” '; $from=”admin@feed.com"; $headers=“MIME版本:1.0”。“\r\n”; $headers.=“内容类型:text/html;字符集=iso-8859-1”。“\r\n”; $headers.='From:'$从…起“\r\n”; if(邮件($to、$subject、$message1、$headers)){ “已发送邮件”; }否则{ “电子邮件不存在”; }

要发送附件,我需要将内容类型更改为
content-type:multipart/mixed\n
。但是HTML上下文将发生变化。如何将文件附加到此html?

如果要编写自己的脚本,请签出

但我强烈建议您使用自定义库,如PHPMailer

PHPMailer是一个PHP电子邮件传输类,具有文件附件、SMTP服务器、CCs、BCC、HTML消息、word wrap等功能。通过sendmail、PHP mail()、QMail或直接使用SMTP发送电子邮件。支持额外的传输,如短信、彩信等


您应该尝试使用此代码获取标题信息

$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}\""; 

您有一些用于电子邮件附件的特殊标题,不要担心,我们有一个名为sendMail的php类,下载并学习@

而不是滚动您自己的解决方案,使用一个库,例如PHPMailer。请检查此选项。PHPMailer将为您节省很多挫折。