PHPMailer 来自 worxware.com 本站下载地址: PHPMailer 5.1, 由nixway翻译整理。
PHP本身提供的mail()函数不支持 smtp认证,如果直接使用很容易被作为垃圾邮件, 除非你的主机DNS和mail relay配置得很好,如果你能不确定,请不要使用。 泛滥使用会被作为垃圾邮件发送者, 甚至被rbl网站屏蔽整个网段, 事实上是一种损人不利己的做法。
PHPMailer是一个PHP class实现高级邮件发送功能, 例如smtp auth(认证)发送. 并包含所有源代码,开发者很容易查看并调用
SMTP Auth(认证)与普通PHP mail()函数的区别在于:SMTP Auth(认证)所通过一个验证过的合法的邮件帐号把邮件通过邮件服务器发送出去, 而PHP mail()函数是直接在本机将邮件通过mail relay host发送出去。既然用PHPMailer的smtp Auth功能,mail relay host我们不去多讲,我们直接使用现有的支持smtp邮件发送主机即可。比方说,smtp.163.com
所以第一步,首先去网易邮箱去注册一个免费邮箱(或者您已经有一个),其他的,sohu邮箱,139邮箱都支持smtp认证发送邮件,或者有自己的企业邮箱支持smtp的话,直接用企业邮箱更好。
如下为一个通过PHPmailer发送邮件的例子:
require("class.phpmailer.php");
$mail = new PHPMailer();
$mai-->IsSMTP(); //使用 SMTP认证
$mail->Host = "smtp.163.com";
// 指定主smtp和 备smtp服务器, 如果有多个smtp服务器,可以用;隔开
$mail->SMTPAuth = true; // 打开SMTP认证
$mail->Username = "username"; // SMTP 用户名
$mail->Password = "userpassword"; // SMTP 密码
$mail->From = <yourname@163.com; //邮件发送者
$mail->FromName = "My Username"; //显示名字
$mail->AddAddress(<somename1>@163.com, "Josh Adams");
$mail->AddAddress(<somename2>@163.com); // 增加多个地址
$mail->AddReplyTo(<yourname>@163.com, "Information"); //回复地址
$mail->WordWrap = 50; // 折行
$mail->AddAttachment("/var/tmp/file.tar.gz"); // 增加附件
$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // 增加多个附件
$mail->IsHTML(true); // 使用HTML格式发送
$mail->Subject = "这个是主题";
$mail->Body = "这是 HTML正文 粗体!";
$mail->AltBody = "这个是plain正文, 如果用户客户端无法显示 HTML正文的时候";
if(!$mail->Send()) //发送
{
echo “邮件无法被发送.”;
echo “错误信息: ” . $mail->ErrorInfo;
exit;
}
echo “邮件已发送成功”;

Perl – CPAN 和 CPANPLUS