PHPMailer是一个用于发送电子邮件的PHP函数包。它提供的功能包括:
*.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址
*.支持多种邮件编码包括:8bit,base64,binary和quoted-printable
*.支持SMTP验证
*.支持冗余SMTP服务器
*.支持带附件的邮件和Html格式的邮件
*.自定义邮件头
*.支持在邮件中嵌入图片
*.调试灵活
*.经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等
*.可运行在任何平台之上
调用方法:
01.
require
(
"class.phpmailer.php"
);
02.
03.
$mail
=
new
PHPMailer();
04.
05.
$mail
->IsSMTP();
// 启用SMTP
06.
$mail
->Host =
"smtp1.example.com"
;
//SMTP服务器
07.
$mail
->SMTPAuth = true;
//开启SMTP认证
08.
$mail
->Username =
"name@example.com"
;
// SMTP用户名
09.
$mail
->Password =
"password"
;
// SMTP密码
10.
11.
$mail
->From =
"from@example.com"
;
//发件人地址
12.
$mail
->FromName =
"Mailer"
;
//发件人
13.
$mail
->AddAddress(
"josh@example.net"
,
"Josh Adams"
);
//添加收件人
14.
$mail
->AddAddress(
"ellen@example.com"
);
15.
$mail
->AddReplyTo(
"info@example.com"
,
"Information"
);
//回复地址
16.
$mail
->WordWrap = 50;
//设置每行字符长度
17.
/** 附件设置
18.
$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
19.
$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // 添加附件,并指定名称
20.
*/
21.
$mail
->IsHTML(true);
// 是否HTML格式邮件
22.
23.
$mail
->Subject =
"Here is the subject"
;
//邮件主题
24.
$mail
->Body =
"This is the HTML message body <b>in bold!</b>"
;
//邮件内容
25.
$mail
->AltBody =
"This is the body in plain text for non-HTML mail clients"
;
//邮件正文不支持HTML的备用显示
26.
27.
if
(!
$mail
->Send())
28.
{
29.
echo
"Message could not be sent. <p>"
;
30.
echo
"Mailer Error: "
.
$mail
->ErrorInfo;
31.
exit
;
32.
}
33.
34.
echo
"Message has been sent"
;
关于邮件乱码的解决办法:
邮件的中文会出现乱码主要是编码没有设置好。
设置方法如下:
1.
$mail
->IsHTML(true);
// 是否HTML格式邮件
2.
$mail
->CharSet =
"utf-8"
;
// 这里指定字符集!
3.
$mail
->Encoding =
"base64"
;
但是请注意,这并不能完全保证你收到的邮件是正确的编码。在发送html邮件时,我们需要发送一个完整的html文档。
如:
<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body>含中文的内容</body>
</html>
附件下载:
PHPMailer.zip 114.94KB