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
使用eAccelerator加密PHP程序
Oct 03 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
解析posix与perl标准的正则表达式区别
Jun 17 PHP
php 批量生成html,txt文件的实现代码
Jun 26 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 PHP
php单态设计模式(单例模式)实例
Nov 18 PHP
php绘制一条弧线的方法
Jan 24 PHP
php实现专业获取网站SEO信息类实例
Apr 02 PHP
Joomla使用Apache重写模式的方法
May 04 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
Jul 24 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
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
图片按比例缩放函数
2006/06/26 Javascript
js 提交和设置表单的值
2008/12/19 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
微信小程序仿知乎实现评论留言功能
2018/11/28 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
python executemany的使用及注意事项
2017/03/13 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
Python logging模块用法示例
2018/08/28 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
详解python读取和输出到txt
2019/03/29 Python
python制作简单五子棋游戏
2019/06/18 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
荷兰最大的多品牌男装连锁店:Adam Brandstore
2019/12/31 全球购物
银行会计财务工作个人的自我评价
2013/10/29 职场文书
改进作风怎么办发言材料
2014/08/17 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
项目合作意向书
2015/05/08 职场文书
答谢酒会主持词
2015/07/02 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python