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


Posted in PHP onJune 10, 2015

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
利用PHP和AJAX创建RSS聚合器的代码
Mar 13 PHP
php面向对象全攻略 (十四) php5接口技术
Sep 30 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
php读取mysql的简单实例
Jan 15 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
php动态变量定义及使用
Jun 10 #PHP
php中动态变量用法实例
Jun 10 #PHP
PHP获取文件行数的方法
Jun 10 #PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 #PHP
PHP实现将textarea的值根据回车换行拆分至数组
Jun 10 #PHP
php将图片文件转换成二进制输出的方法
Jun 10 #PHP
smarty模板判断数组为空的方法
Jun 10 #PHP
You might like
php表单请求获得数据求和示例
2014/05/15 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
php正则修正符用法实例详解
2016/12/29 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
js比较日期大小的方法
2015/05/12 Javascript
javascript实现连续赋值
2015/08/10 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
layui导航栏实现代码
2017/05/19 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
2009/04/09 Python
python执行外部程序的常用方法小结
2015/03/21 Python
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
小小聊天室Python代码实现
2016/08/17 Python
Python如何为图片添加水印
2016/11/25 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
adidas美国官网:adidas US
2016/09/21 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
企业门卫岗位职责
2013/12/12 职场文书
工业学校毕业生自荐书
2014/01/03 职场文书
工作睡觉检讨书
2014/02/25 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
房屋买卖协议样本
2014/11/16 职场文书
医生个人年度总结
2015/02/28 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang