2010
07.16
07.16
PHPMailer是一个免费,开源且功能强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、富文本内容,上传附件等。
下载地址:http://sourceforge.net/project/showfiles.php?group_id=26031&package_id=252700
下面我们用一个实例来介绍它的用法。
测试环境:
Ubuntu 9.10
Postfix 2.6.5
PHP 5.2.10
<?php
require_once("class.phpmailer.php");
$mail = new PHPMailer();
// 默认编码为 iso-8859-1,当邮件中包含中文字符时,会出现乱码,所以我们改成UTF8
$mail->CharSet = 'UTF8';
// 设置PHPMailer是否使用 SMTP,如果设置了该项,其他相关项也需要设置
$mail->IsSMTP();
// SMTP服务器地址,也可以使用第三方提供的免费SMTP服务器,如新浪免费邮箱发信(smtp)服务器的地址为:smtp.sina.com
$mail->Host = 'localhost';
// 设置是否启用SMTP认证,当为true时有时会出错,所以这里我们设置为false
$mail->SMTPAuth = false;
// SMTP用户名,如果使用linux下的sendmail或postfix等邮件服务器, 此处留空;如果使用第三方的SMTP服务器,要填写相应用户名,也就是你的邮箱地址
$mail->Username = '';
// SMTP密码,基本同上
$mail->Password = '';
// 设置邮件正文的格式,默认为Html格式,当为false时,使用文本格式
$mail->IsHTML(true);
// 邮件正文
$mail->Body = 'The Mail Contents';
// 当用户查看邮件的设备不支持HTML时,可以在这里输入纯文本的内容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
// 发件人地址
$mail->From = 'example@example.com';
// 发件人姓名
$mail->FromName = 'Ben';
// 也可以这样设置发件人的址址及姓名
$mail->SetFrom('example@example.com', 'Ben');
// 添加回复地址,姓名
$mail->AddReplyTo("example@example.com","Reply Name");
// 添加抄送地址,貌似只能在win32平台使用,未做测试
$mail->AddCC($address, $name = "");
// 添加密送地址,貌似只能在win32平台使用,未做测试
$msil->AddBCC($address, $name = "");
$mail->Subject = 'Test'; // 邮件主题
// AddAddress($address, $name = ""), 添加一个收件人地址,收件人姓名默认为空
$mail->AddAddress('example@example.com');
// 添加一个附件
$mail->AddAttachment("doc/learningjquery.pdf");
// 清除所有收件人地址,当给多人发送邮件时,此方法尤其有用
$mail->ClearAddresses();
// Send()方法:创建信息和发送邮件,如果发送失败返回false,使用下面的ErrorInfo属性可以显示错误描述,发送成功返回true
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo 'Send Successful.';
?>
PHPMailer的方法请参见: http://phpmailer.worxware.com/index.php?pg=methods
PHPMailer的属性请参见: http://phpmailer.worxware.com/index.php?pg=properties