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中利用post传递字符串重定向的实现代码
Apr 21 PHP
使用cookie实现统计访问者登陆次数
Jun 08 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
PHP jQuery表单,带验证具体实现方法
Feb 15 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 PHP
PHP抽奖算法程序代码分享
Oct 08 PHP
在PHP中使用FastCGI解析漏洞及修复方案
Nov 10 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
PHP实现的观察者模式实例
Jun 21 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 PHP
TP5框架实现的数据库备份功能示例
Apr 05 PHP
一文搞懂php的垃圾回收机制
Jun 18 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通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
php文件读取方法实例分析
2015/06/20 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
Python中安装easy_install的方法
2018/11/18 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
会计专业自我评价
2014/02/12 职场文书
多媒体编辑专业毕业生求职信
2014/06/13 职场文书
国际商务专业毕业生自我鉴定2014
2014/09/27 职场文书
合伙购房协议样本
2014/10/06 职场文书
红色经典电影观后感
2015/06/18 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
Java 写一个简单的图书管理系统
2022/04/26 Java/Android