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 checkbox复选框值的获取与checkbox默认值输出方法
May 15 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
php实现网站文件批量压缩下载功能
Oct 28 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
基于php实现的验证码小程序
Dec 13 PHP
php+webSoket实现聊天室示例代码(附源码)
Feb 17 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 26 PHP
基于PHP的登录和注册的功能的实现
Aug 06 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截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
Google韩国首页图标动画效果
2007/08/26 Javascript
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
JavaScript对Json的增删改属性详解
2016/06/02 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
函数式编程入门实践(一)
2019/04/20 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
python自动化测试之连接几组测试包实例
2014/09/28 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
在Python中使用SQLite的简单教程
2015/04/29 Python
Django 路由控制的实现代码
2018/11/08 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
最新远光软件笔试题面试题内容
2013/11/08 面试题
五一家具促销方案
2014/01/10 职场文书
银行员工考核评语
2014/12/31 职场文书
学生会个人总结范文
2015/02/15 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript