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 相关文章推荐
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
May 15 PHP
PHP中strtotime函数使用方法分享
Jan 10 PHP
php命令行使用方法和命令行参数说明
Apr 08 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
php基于base64解码图片与加密图片还原实例
Nov 03 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
PHP的mysqli_ssl_set()函数讲解
Jan 23 PHP
PHP实现的支付宝支付功能示例
Mar 26 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 PHP
php将xml转化对象的实例详解
Nov 17 PHP
PHP获取学生成绩的方法
Nov 17 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
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
php生成短域名函数
2015/03/23 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
javascript alert乱码的解决方法
2013/11/05 Javascript
javascript实用小函数使用介绍
2013/11/11 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
小程序自定义日历效果
2018/12/29 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
python服务器端收发请求的实现代码
2014/09/29 Python
Python中List.index()方法的使用教程
2015/05/20 Python
八大排序算法的Python实现
2021/01/28 Python
利用python批量检查网站的可用性
2016/09/09 Python
python字典多键值及重复键值的使用方法(详解)
2016/10/31 Python
python实现决策树分类
2018/08/30 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
linux面试题参考答案(5)
2014/09/01 面试题
大一军训感言
2014/01/09 职场文书
商场消防演习方案
2014/02/12 职场文书
法院信息化建设方案
2014/05/21 职场文书
学雷锋的心得体会
2014/09/04 职场文书
经验交流材料格式
2014/12/30 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
python 下划线的多种应用场景总结
2021/05/12 Python
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android
解决Oracle数据库用户密码过期
2022/05/11 Oracle