这篇文章给大家介绍利用php怎么发送带附件的邮件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<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怎么发送带附件的邮件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。