在PHP5中使用PHPMailer发送邮件
时间:2009-6-17 作者:smarteng 分类: PHP相关
在使用PHP编写WEB程序时需要将一个确认信息用邮件发送给用户,在网上找了一下。找到了一个不错的开源程序,今天的主角:PHPMailer;以下我将以一个使用PHPMailer发送一个HTML邮件为例演示。
用PHPMailer发邮件[break]
PHPMailer,是一个为了实现PHP平台上发送电子邮件(Email)的优秀国外PHP类库。它最主要的两个特点:发送HTML内容格式的Email和发送带附件的Email。PHPMailer基本上能够实现所有邮箱本身所包含的邮件发送功能,包括多发件人,抄送(CC),暗送(BCC)和SMTP发送等功能。简单来说,PHPMailer就是一个高效PHP平台发送Email的类库。众所周知,PHP自带一个mail()函数能够实现邮件发送的基本功能。但PHPMailer能够通过简单的操作,实现HTML格式邮件发送,附件发送。不仅如此,PHPMailer还能够通过你自己的SNTP服务器处理邮件,并能够避免在Unix平台上mail()方法产生的诸多问题。
内附实例包括使用以下SMTP服务的邮箱:126.com,163.com,foxmail
说明
目前测试已通过的国内邮箱:126,163,新浪邮箱,foxmail
目前测试尚未通过的邮箱:gmail
初次使用
发送带附件的邮件
发送HTML格式的邮件
变更日志
2008-9-30 由代码吾爱Saturn汉化并提供几个简单示例
用法示例
<?php
// 使用PHPMailer发送邮件实例,126邮箱
//Script by Code52.net
//代码吾爱,Be a happy coder.
include("class.phpmailer.php");
include("class.smtp.php"); // 可选
$mail = new PHPMailer();
$body = $mail->getFile('contents.html');//邮件正文内容,提取html文件为其内容
$body = eregi_replace("[\]",'',$body);
$mail->IsSMTP();
$mail->SMTPAuth = true; // 必填,SMTP服务器是否需要验证,true为需要,false为不需要
$mail->Host = "smtp.126.com"; //必填,设置SMTP服务器
//$mail->Port = 25; // 设置端口
$mail->Username = "username@126.com"; // 必填,开通SMTP服务的邮箱;任意一个126邮箱均可
$mail->Password = "password"; //必填, 以上邮箱对应的密码
$mail->From = "username@126.com"; //必填,发件人Email
$mail->FromName = "Webmaster"; //必填,发件人昵称或姓名
$mail->Subject = "This is the subject"; //必填,邮件标题(主题)
$mail->AltBody = "This is the body when user views in plain text format"; //可选,纯文本形势下用户看到的内容
$mail->WordWrap = 50; // 自动换行的字数
$mail->MsgHTML($body);
$mail->AddReplyTo("username@126.com","Webmaster");//回复邮箱地址
$mail->AddAttachment("/path/to/file.zip"); // 添加附件
$mail->AddAttachment("/path/to/image.jpg", "new.jpg"); // 添加附件
$mail->AddAddress("Sendto@gmail.com","First Last");//参数一:收信人的邮箱地址,可添加多个。参数二:收件人称呼
$mail->IsHTML(true); // 是否以HTML形式发送,如果不是,请删除此行
if(!$mail->Send()) {
echo "Mailer错误: " . $mail->ErrorInfo;
} else {
echo "邮件发送成功";
}
?>