php内部其实自带了有发送邮件的类mail()函数,但是功能比较单一,不能满足绝大部分的需求,因此在这里我使用了一个phpmailer(点击下载)这个类,相对来说还是很完善的,直接代码说话吧
// 请求 PHPmailer类 文件
require_once("PHPMailer/PHPMailer.class.php");
require_once("PHPMailer/SMTP.class.php");
$title = "测试邮件";
$content = "测试信哈哈哈哈哈";
$to = "763084371@qq.com";
sendMail($title,$content,$to);
function sendMail($title,$content,$to)
{
$mail = new PHPMailer();
$mail -> IsSMTP();//告诉服务器使用smtp协议发送
$mail -> SMTPAuth = true;//开启SMTP授权
$mail -> Host = 'smtp.163.com';//告诉我们的服务器使用163的smtp服务器发送
$mail -> From = 'XXXXXXX@163.com';//发送者的邮件地址
$mail -> FromName = 'three_tiger';//发送邮件的用户昵称
$mail -> Username = 'XXXXXXX';//登录到邮箱的用户名
$mail -> Password = '';//第三方登录的授权码,在邮箱里面设置
//编辑发送的邮件内容
$mail -> IsHTML(true);//发送的内容使用html编写
$mail -> CharSet = 'utf-8';//设置发送内容的编码
$mail -> Subject = $title;//设置邮件的主题、标题
$mail -> MsgHTML($content);//发送的邮件内容主体
//告诉服务器接收人的邮件地址
$mail -> AddAddress($to);
//调用send方法,执行发送
$result = $mail -> Send();
if($result){
return true;
}else{
return $mail -> ErrorInfo;
}
}在这里我们看到需要支持SMTP服务,怎么办呢?我这里测试的时候用的是163邮箱,其他邮箱也是可以的,163邮箱
前提是我们发送邮件的邮件必须经过163服务器的授权,怎么获得授权呢?
(1)登录到163邮箱(http://mail.163.com/)
(2)点击设置---POP3/SMTP/IMAP
点击确定
设置授权码
现在就可以使用这个163的邮箱给别人群发邮件了