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 相关文章推荐
消息持续发送的完整例子
Oct 09 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
destoon复制新模块的方法
Jun 21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
Jun 30 PHP
php中函数前加&amp;符号的作用分解
Jul 08 PHP
php中in_array函数用法分析
Nov 15 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 PHP
总结对比php中的多种序列化
Aug 28 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
php判断电子邮件是否正确方法
Dec 04 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里的JS打印函数
2006/10/09 PHP
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
PHP 时间日期操作实战
2011/08/26 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
php中上传文件的的解决方案
2018/09/25 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
详解如何让Express支持async/await
2017/10/09 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
详解Python中的from..import绝对导入语句
2016/06/21 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
Python递归函数特点及原理解析
2020/03/04 Python
python如何判断IP地址合法性
2020/04/05 Python
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
总经理职责范文
2013/11/08 职场文书
助人为乐表扬信范文
2014/01/14 职场文书
租房合同协议书
2014/04/09 职场文书
家长学校教学计划
2015/01/19 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
asyncio异步编程之Task对象详解
2022/03/13 Python
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技