用PHP发送包含(HTML、纯文本和附件)的多部分电子邮件

用PHP发送包含(HTML、纯文本和附件)的多部分电子邮件,php,html,email,Php,Html,Email,我正在用php发送一封包含html格式和附件的多部分电子邮件。。。 一切都很好,但当用户从我们的网站收到电子邮件时,它在HTML部分的最后一部分也显示了边界。 但当我删除边界线时,显示文件内容为base64(无附件)的电子邮件将被删除 if(isset($\u POST['submit'])) { $to$admin@abc.com'; $FromSubmitting=$_POST['submitting']; $FromTitle=$_POST['title']; $FromName=$_PO

我正在用php发送一封包含html格式和附件的多部分电子邮件。。。 一切都很好,但当用户从我们的网站收到电子邮件时,它在HTML部分的最后一部分也显示了边界。 但当我删除边界线时,显示文件内容为base64(无附件)的电子邮件将被删除

if(isset($\u POST['submit']))
{
$to$admin@abc.com';
$FromSubmitting=$_POST['submitting'];
$FromTitle=$_POST['title'];
$FromName=$_POST['name'];
$fromsignation=$_POST['designation'];
$FromQualification=$_POST['qualification'];
$FromInstitute=$\u POST['institute\u address'];
$FromHomeAddress=$\u POST['home\u address'];
$FromEmail=$_POST['email'];
$FromWorkPhone=$\u POST[“工作电话号码”];
$FromHomePhone=$\u POST['home\u phone\u number'];
$FromMobilePhone=$\u POST[“手机号码”];
$FromPresentingAuthor=$\u POST['presenting\u author'];
$FromConferenceTheme=$\u POST[“会议主题”];
$FromTypeOfSubmission=$_POST['type_of_submission'];
$subject=“New”。$FromSubmitting.”提交人:“.$FromName;
/*获取文件变量*/
$tmpName=$\u文件['uploaded\u file']['tmp\u name'];
$fileType=$\u文件['uploaded\u file']['type'];
$fileName=$\u文件['uploaded\u file']['name'];
/*标题的开头*/
$headers=“From:$FromEmail”;
如果(文件($tmpName)){
/*正在读取文件('rb'=读取二进制文件)*/
$file=fopen($tmpName,'rb');
$data=fread($file,filesize($tmpName));
fclose($file);/*边界字符串*/
$randomVal=md5(time());
$mimeBoundary=“==Multipart_Boundary_x{$randomVal}x”;
/*文件附件的标题*/
$headers.=“\n时间版本:1.0\n”;
$headers.=“内容类型:多部分/混合;\n”;
$headers.=“boundary=\”{$mimebundary}\”;
/*消息上方的多部分边界*/
$message.=“--{$mimebundary}\n”
“内容类型:text/html;字符集=UTF-8\n”
“内容传输编码:8位\n\n”
. "
提交类型:$FromSubmitting
名称:$FromTitle$FromName
名称:$fromsignation
资格:$FromQualification
学院:$FromInstitute
家庭地址:$FromHomeAddress
工作电话:$FromWorkPhone
家庭电话:
$fromHomePhone移动电话:
$fromobilephone
演示作者:$FromPresentingAuthor
会议主题:$FromConferenceTheme
提交类型:$FromTypeOfSubmission
"
.“-{$mimebundary}\n”;//删除此行时,将显示Image-2
/*编码文件数据*/
$data=chunk_split(base64_encode($data));
/*正在将附件文件添加到消息*/
$message.=“--{$mimebundary}\n”
“内容类型:{$fileType};\n”
“名称=\”{$fileName}\“\n”
“内容传输编码:base64\n\n”
.$data。“\n\n”
.“{$mimeBoundary}--\n”;
}
$flgchk=邮件(“$to”、“$subject”、“$message”、“$headers”);
}
电子邮件屏幕截图Image-1:

电子邮件屏幕截图Image-2:
我不确定,但你可以试试这个

/*将附件文件添加到消息*/

$message .= "--{$mimeBoundary}\n"
."Content-Type: application/octet-stream;\n" 
.  " name=\"{$fileName}\"\n" 
.  "Content-Transfer-Encoding: base64\n\n" 
.  $data . "\n\n" 
.  "--{$mimeBoundary}--\n";
$message .= "--{$mimeBoundary}\n"
."Content-Type: application/octet-stream;\n" 
.  " name=\"{$fileName}\"\n" 
.  "Content-Transfer-Encoding: base64\n\n" 
.  $data . "\n\n" 
.  "--{$mimeBoundary}--\n";