php简单实现发送带附件的邮件

前端技术 2023/09/09 PHP

本文实例讲述了php简单实现发送带附件的邮件。分享给大家供大家参考。具体如下:

下面是静态html代码:

<html>
 <head>
 <title>带附件的邮件发送</title>
 </head>
 <body> 
 <form method=\"post\" name=\"form1\" action=\"sendmail.php\" ENCTYPE=\"multipart/form-data\"> 
  <table> 
  <tr>
   <td>发送人:</td> 
   <td><input type=\"text\" name=\"from\"></td> 
  </tr> 
  <tr>
   <td>收件人:</td> 
   <td><input type=\"text\" name=\"to\"></td> 
  </tr> 
  <tr>
   <td>邮件主题:</td> 
   <td><input type=\"text\" name=\"subject\"></td> 
  </tr> 
  <tr>
   <td>邮件内容:</td> 
   <td><textarea name=\"body\"></textarea></td> 
  </tr> 
  <tr>
   <td>附件上传:</td> 
   <td><input type=\"file\" name=\"upload_file\"></td> 
  </tr> 
  <tr> 
   <td span=2>
   <input type=\"submit\" value=\"提交\"> 
   <input type=\"reset\" value=\"重置\"> 
   </td> 
  </tr> 
  </table> 
 </form> 
 </body> 
</html>

sendmail.php文件代码:

<?php  
//获得表单信息 
$from = $_POST[\'from\']; 
$to = $_POST[\'to\'];  
$subject = $_POST[\'subject\'];  
$body = $_POST[\'body\'];  
// 定义分界线  
$boundary = \"345894369383\"; //分界线是一串无规律的字符 
//设置header 
$header = \"Content-type: multipart/mixed; boundary= $boundary/r/n\";  
$header .= \"From:$from/r/n\";  
//获得上传文件的文件内容 
$file = $_FILES[\'upload_file\'][\'tmp_name\'];  
//确定上传文件的MIME类型  
$mimeType = $_FILES[\'upload_file\'][\'type\'];  
//获得上传文件的文件名  
$fileName = $_FILES[\'upload_file\'][\'name\'];  
//读取上传文件  
$fp = fopen($file, \"r\"); //打开文件 
$read = fread($fp, filesize($file)); //读入文件 
$read = base64_encode($read); //base64编码  
$read = chunk_split($read); //切割字符串 
//建立邮件的主体,分为邮件内容和附件内容两部分 
$body = \"--$boundary  
Content-type: text/plain; charset=iso-8859-1  
Content-transfer-encoding: 8bit  
$body  
--$boundary  
Content-type: $mimeType; name=$fileName  
Content-disposition: attachment; filename=$fileName  
Content-transfer-encoding: base64  
$read  
--$boundary--\";  
//发送邮件 并输出是否发送成功的信息 
if(mail($to, $subject,$body,$header))  
{ 
  echo \"信件发送成功\";  
} 
else  
{ 
  echo \"信件发送失败\";  
} 
?>

希望本文所述对大家的php程序设计有所帮助。

本文地址:https://www.stayed.cn/item/24385

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。