PHP发送带附件的电子邮件,php中PHPMailer发送带附件的电子邮件方法_PHP教程

在php开发利用PHPMailer发送邮件是常用的做法了,这种比起php mail用好用多了,下面我们来看看PHPMailer如何发送带有附件的电子邮件吧。

.首先到http://phpmailer.worxware.com/ 下载最新版本的程序包

2.下载完成后,找到class.phpmailer.php 、class.smtp.php两个类放到自己的目录下!

3.然后新建一个php文件这里命名为:phpmail_jiucool.php

4.phpmail_jiucool.php内容如下:

实例

代码如下

复制代码

function postmail_jiucool_com($to,$subject = "",$body = ""){

//Author:Jiucool WebSite: http://www.jiucool.com

//$to 表示收件人地址 $subject 表示邮件标题 $body表示邮件正文

//error_reporting(E_ALL);

error_reporting(E_STRICT);

date_default_timezone_set("Asia/Shanghai");//设定时区东八区

require_once('class.phpmailer.php');

include("class.smtp.php");

$mail = new PHPMailer(); //new一个PHPMailer对象出来

$body = eregi_replace("[]",'',$body); //对邮件内容进行必要的过滤

$mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码

$mail->IsSMTP(); // 设定使用SMTP服务

$mail->SMTPDebug = 1; // 启用SMTP调试功能

// 1 = errors and messages

// 2 = messages only

$mail->SMTPAuth = true; // 启用 SMTP 验证功能

$mail->SMTPSecure = "ssl"; // 安全协议

$mail->Host = "smtp.googlemail.com"; // SMTP 服务器

$mail->Port = 465; // SMTP服务器的端口号

$mail->Username = "SMTP服务器用户名"; // SMTP服务器用户名

$mail->Password = "SMTP服务器密码"; // SMTP服务器密码

$mail->SetFrom('发件人地址,如admin#jiucool.com #换成@', '发件人名称');

$mail->AddReplyTo("邮件回复地址,如admin#jiucool.com #换成@","邮件回复人的名称");

$mail->Subject = $subject;

$mail->AltBody = "To view the message, please use an HTML compatible email viewer! - From www.jiucool.com"; // optional, comment out and test

$mail->MsgHTML($body);

$address = $to;

$mail->AddAddress($address, "收件人名称");

//$mail->AddAttachment("images/phpmailer.gif"); // attachment

//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {

echo "Mailer Error: " . $mail->ErrorInfo;

} else {

echo "Message sent!恭喜,邮件发送成功!";

}

}

注意:

phpmailer如果添加附件的时候,在附件名称里一定要写明附件的后缀,如果不写明附件后缀,默认的附件后缀会是.txt。

比如

代码如下

复制代码

$mail -> AddAttachment('include/id.csv','att');//

附件的路径和附件名称

如果向上面一样添加附件发送,则最终接到的附件可能是att.txt。

AddAttachment可以设置附件编码方式和附件类型,比如上面的附件添加也可以设置为

代码如下

复制代码

$mail -> AddAttachment('include/id.csv','att.csv',"binary","text/comma-separated-values");//

附件的路径和附件名称、

附件的编码方式大概有这么几种:支持8bit, base64, binary, and quoted-printable 编码

而CSV可接受的MIME Type

· application/octet-stream

· text/comma-separated-values(推荐)

· text/csv

所以,csv格式文件的附件类型可以是上面三种中的任意一种

实例

代码如下

复制代码

require_once('include/PHPMailer/class.phpmailer.php'); //导入PHPMAILER类

$mail = new PHPMailer(); //创建实例

$mail -> CharSet='utf-8'; //设置字符集

$mail -> SetLanguage('ch','include/PHPMailer/language/'); //设置语言类型和语言文件所在目录

$mail -> IsSMTP(); //使用SMTP方式发送

$mail -> SMTPAuth = true; //设置服务器是否需要SMTP身份验证

$mail -> Host = SMTP_SERVER; //SMTP 主机地址

$mail -> Port = SMTP_SERVER_PORT; //SMTP 主机端口

$mail -> From = SMTP_USER_MAIL; //发件人EMAIL地址

$mail -> FromName = 'jasonxu'; //发件人在SMTP主机中的用户名

$mail -> Username = SMTP_USER_NAME; //发件人的姓名

$mail -> Password = SMTP_USER_PASS; //发件人在SMTP主机中的密码

$mail -> Subject = '测试邮件的标题'; //邮件主题

$mail -> AltBody = 'text/html'; //设置在邮件正文不支持HTML时的备用显示

$mail -> Body = '测试邮件的内容';//邮件内容做成

$mail -> IsHTML(true); //是否是HTML邮件

$mail -> AddAddress('chinajason2008#gmail.com','jasonxu'); //收件人的地址和姓名

$mail -> AddReplyTo('chinajason2008#gmail.com','jasonxu'); //收件人回复时回复给的地址和姓名

$mail -> AddAttachment('include/id.csv','att.csv');//附件的路径和附件名称if(!$mail -> Send()) //发送邮件

var_dump($mail -> ErrorInfo); //查看发送的错误信息

只要加上这希就可以实例邮箱发送带附件了

$mail -> AddAttachment('include/id.csv','att.csv');//附件的路径和附件名称

http://www.bkjia.com/PHPjc/631600.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631600.htmlTechArticle在php开发利用PHPMailer发送邮件是常用的做法了,这种比起php mail用好用多了,下面我们来看看PHPMailer如何发送带有附件的电子邮件吧。 .首先...

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值