php简单实现发送带附件的邮件
本文实例讲述了php简单实现发送带附件的邮件。分享给大家供大家参考。具体如下:
下面是静态html代码:
<html> <head> <title>带附件的邮件发送</title> </head> <body> <formmethod="post"name="form1"action="sendmail.php"ENCTYPE="multipart/form-data"> <table> <tr> <td>发送人:</td> <td><inputtype="text"name="from"></td> </tr> <tr> <td>收件人:</td> <td><inputtype="text"name="to"></td> </tr> <tr> <td>邮件主题:</td> <td><inputtype="text"name="subject"></td> </tr> <tr> <td>邮件内容:</td> <td><textareaname="body"></textarea></td> </tr> <tr> <td>附件上传:</td> <td><inputtype="file"name="upload_file"></td> </tr> <tr> <tdspan=2> <inputtype="submit"value="提交"> <inputtype="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程序设计有所帮助。