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 相关文章推荐
提取HTML标签
Oct 09 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
php URL跳转代码 减少外链
Jun 25 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
浅析php适配器模式(Adapter)
Nov 25 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
php使用curl详细解析及问题汇总
Aug 11 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
微信公众平台开发(五) 天气预报功能开发
Dec 03 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 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之sphinx
2013/05/15 PHP
浅谈json_encode用法
2015/03/05 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
在Javascript中定义对象类别
2006/12/22 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
Python中的列表生成式与生成器学习教程
2016/03/13 Python
Linux下python3.7.0安装教程
2018/07/30 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
pytorch打印网络结构的实例
2019/08/19 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
Python实现名片管理系统
2020/02/14 Python
基于Python fminunc 的替代方法
2020/02/29 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
个人综合鉴定材料
2014/05/23 职场文书
节水口号标语
2014/06/19 职场文书
中专生自荐信
2014/06/25 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
圆明园观后感
2015/06/03 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
2022年显卡天梯图(6月更新)
2022/06/17 数码科技