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 柱状图实现代码
Dec 04 PHP
PHP 第三节 变量介绍
Apr 28 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
Jun 05 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
Nov 13 PHP
PHP小技巧之函数重载
Jun 02 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
PHP和Mysql中转UTF8编码问题汇总
Oct 10 PHP
PHP实现可自定义样式的分页类
Mar 29 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 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 缓冲的免费实现方法
2006/10/09 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
JS 时间显示效果代码
2009/08/23 Javascript
JavaScript 继承详解 第一篇
2009/08/30 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
vue + typescript + video.js实现 流媒体播放 视频监控功能
2019/07/07 Javascript
讲解Python中的标识运算符
2015/05/14 Python
django实现用户登陆功能详解
2017/12/11 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
python 实现提取某个索引中某个时间段的数据方法
2019/02/01 Python
python如何保证输入键入数字的方法
2019/08/23 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
python 如何上传包到pypi
2020/12/24 Python
python3 kubernetes api的使用示例
2021/01/12 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
网络技术支持面试题
2013/04/22 面试题
中专毕业生求职简历的自我评价
2013/10/21 职场文书
幼儿园中秋节活动方案
2014/02/06 职场文书
小学生作文评语
2014/04/18 职场文书
节约用电标语
2014/06/17 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
实施意见格式范本
2015/06/05 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS