$from = "xxx@xxx.cn";

$to = "xxx@xxx.cn, xxx@xxx.com";

$subject = "邮件主题";

$subject = "=?UTF-8?B?".base64_encode($subject)."?=";

$attach_filename = date("Y-m-d") . ".html";

$emailBody = "

正文第一行

正文第二行

正文第三行

The end!";

# 然后我们要作为附件的HTML文件

$attachment = "

The attached file

This is the attached HTML file

";

$boundary = uniqid("");

$headers = "From: $from

To: $to

Content-type: multipart/mixed; boundary=\"$boundary\"";

$emailBody = "--$boundary

Content-type: text/plain; charset=utf-8

Content-transfer-encoding: 8bit

$emailBody

--$boundary

Content-type: text/html; name=$attach_filename

Content-disposition: inline; filename=$attach_filename

Content-transfer-encoding: 8bit

$attachment

--$boundary--";

mail("xxx@xxx.cn", $subject, $emailBody, $headers);

?>

按照上例是能发送成功, 但项目中真正使用时, 却出现了乱码的问题:

当正文或附件html一行很长的时候, 收到的内容有乱码和!等异常,  查阅到有人说html邮件一行不能超过80个字符,抱着试一试的态度,

生成html附件内容字符串的时候用类似 $html .= "

";  $html .= "xxx\n"; $html .= "xxxx\n"; $html .= "";  的方法, html每增加一点内容,加上 \n.既保证邮件body单行不超过80字符,有保证 不会被wordwrap折断.

经过这么一折腾, 完美解决了乱码.

啊哈...

php mail函数 附件,[php]mail函数发送邮件(正文+附件+中文)相关推荐

  1. php发邮件附件,PHP使用PHPMailer发送邮件和附件的方法

    PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件 ...

  2. php 开启mail函数 wo,php mail 函数发送邮件

    当然你可以通过php ,在自己的站点制作一个反馈表单, 我这次的需求是用email 的形式发送数据报表,结构比较简单 // 收件人地址(此处只可以写一个地址,写多个地址,只有最后一个地址生效) $to ...

  3. 新网主机php函数设置不见了,WordPress发送邮件提示“您的主机禁用了Mail函数”解决方案...

    [媷羊毛]knsuXbQfNaW 最近在测试主题啊,测试主题ing,被一个SMTP邮箱设置搞得茶饭不思,最后找到原因居然是这么简单的环节. 具体问题情况 最近在查找主题BUG的时候发现一个很有趣的现象 ...

  4. CentOS 7 使用外部邮箱 发送邮件和附件—mail,mailx

    1.查看软件包是否安装 [root@localhost ~]# rpm -qa|grep mail mailx-12.5-12.el7_0.x86_64 javamail-1.4.6-8.el7.no ...

  5. java mail 收 附件_使用 JavaMail 收发邮件,解决中文附件问题

    几天来一直在开发一个项目,其中一部分需要用 JavaMail 收发邮件,于是就在网上找了一些相关的源代码,最后经过整理和修改,终于好使了,希望能够给使用 JavaMail 收发邮件的朋友提供一个参考 ...

  6. java mail 已发送_JavaMail获取已发送邮件

    public static voidmain(String args[]) { Properties props= new Properties(); //参数配置 props.setProperty ...

  7. 基于java mail实现简单的QQ邮箱发送邮件

    刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 S ...

  8. java mail 邮箱发送_Java Mail 发送邮件

    什么是 SMTP 协议 SMTP或简单的邮件传输协议,是一种将电子邮件从一台服务器发送到另一台服务器的快速简便的方法.通过 SendGrid 等第三方服务商提供的SMTP服务,我们可以通过第三方服务器 ...

  9. 深浅拷贝、函数、内置函数、文件处理、三元运算、递归

    深浅拷贝 import copy copy.copy() #浅拷贝 copy.deepcopy() #深拷贝 num = 110 copynum = num #赋值 一.数字和字符串 对于 数字 和 ...

最新文章

  1. java struts2模拟百度百科图片中的防盗链设置
  2. # 关于“态势感知”产品活动体验
  3. postman 抓包工具charles的使用
  4. 洛谷——P1002 过河卒||codevs——T1010 过河卒
  5. linux 别名,Linux中的别名就这么简单,如何使用和创建永久别名?
  6. 立足国产自主可控技术 达梦DM8数据库新品化繁为简
  7. Baum-WELCH和vertibe解码算法
  8. UnityGI4:混合光照
  9. 程序员常见的口头禅汇总,你中招了没?
  10. c语言messagebox多窗口,C语言messagebox用法
  11. My God,CImage裁剪图片变成黑色了
  12. openstackdvr模式
  13. 一张图理清SpringMVC工作原理
  14. 2017双十一珠峰算法框架Hierarchical中控算法
  15. 史玉柱:从巨人到大闲人
  16. PB调用C#动态库轻松实现微信、支付宝支付
  17. golang中channel的传递
  18. Cutecom无法打开USB串口
  19. 关于使用LocationManager时遇到的问题
  20. CentOS7-samba文件共享服务

热门文章

  1. iPhone屏幕知识点
  2. solaris10找安装包的地方
  3. sencha touch Model validations 自定义验证 二选一输入验证、重复验证、时间验证、比较验证、条件验证(2015-1-14)...
  4. Android根据baidu Android定位SDK实现定位
  5. Javascript中闭包的作用域链
  6. Security Wheel 安全环
  7. B3log Solo 0.2.5.1 发布了!
  8. rsync文件同步(linux-linux)
  9. 安全挑战和SD-WAN解决方案
  10. 什么是网络地址转换(NAT)—Vecloud 微云