使用 PHPMAILER 发送邮件实例应用
时间:2021-07-01 10:21:17
帮助过:42人阅读
以前的mail(),已经不在流行,所以放上最近用的实例,留做回忆。
代码如下:
<?php
require_once(dirname(__FILE__)."/../phpmailer/class.phpmailer.php");
//包含class.phpmailer.php
/**
* @param string $send_to_mail 目标邮件
* @param stinrg $subject 主题
* @param string $body 邮件内容
* @param string $extra_hdrs 附加信息
* @param string $username 收件人
* @param string $replyname 回复人
* @param string $replymail 回复地址
* @return array(bealoon,string) 返回数组包括两个元素,bealoon表示是否成功,string为提示信息
*/
function SendMail($send_to_mail,$subject,$body,$extra_hdrs,$username,$replyname="reply",$replymail="reply@reply.com"){
$mail=new PHPMailer();
$mail->IsSMTP(); //邮件发送方式
$mail->Host="smtp.host.com"; //SMTP服务器主机地址
$mail->SMTPAuth=true; //是否为可信任的SMTP
$mail->Username="reply@reply.com"; //SMTP 用户名 注意:普通邮件认证不需要加 @域名
$mail->Password="******"; //SMTP 用户密码
$mail->From="send@send.com"; //发件人邮件地址
$mail->FromName="send"; //发件人
$mail->CharSet="GB2312"; //指定字符集
$mail->Encoding="base64";
$mail->AddAddress($send_to_mail,$username); //添加发送目标地址
$mail->AddReplyTo($replymail,$replyname); //添加回复地址
$mail->IsHTML(true); //邮件类型为HTML格式
$mail->Subject=$subject; //邮件主题
//邮件内容
$mail->Body="<html><head>
<meta http-equiv='Content-Language' content='zh-cn'>
<meta http-equiv='Content-Type' content='text/html; charset=GB2312'></head>
<body>
".$body."
</body>
</html>";
$mail->AltBody="text/html"; //内容文本格式
if (@!$mail->Send()) {
$results=array("result"=>false,"message"=>$mail->ErrorInfo);
return $results;
}else{
$results = array("result"=>true,"message"=>"邮件已经发送到{$send_to_mail}!");
return $results;
}
}
$send_mail=SendMail($to,$subject,$content,$headers,$name);
if($send_mail["result"]){
echo $send_mail["message"];
}else{
echo $send_mail["message"];
}
exit();
?>
代码如下:
<?php
include ('class/class.phpmailer.php');
$config = array(
'host'=>'smtp.163.com',
'port'=>'25',
'user'=>'***',
'passwd'=>'****',
'from'=>'juva_zz@163.com',
'fromname'=>'郑州',
);
$subject = 'this is a test mail';
$body = '<table style="background:#dfdfdf"><tr><td>测试内容</td></tr><tr><td>这是内容</td></tr></table>';
$address='379018082@qq.com';
$username='本人';
$mail = new PHPMailer();
$mail->CharSet = 'gb2312';
$mail->IsSMTP();
$mail->Host = $config['host'];
$mail->Port = $config['port'];
$mail->From = $config['from'];
$mail->FromName = $config['fromname'];
$mail->SMTPAuth = true;
$mail->Username = $config['user'];
$mail->Password = $config['passwd'];
$mail->Subject=$subject;
$mail->AltBody="text/html";
$mail->MsgHTML($body);
$mail->AddAddress($address,$username);
if(!$mail->Send())
{
echo "Mail Error :".$mail->ErrorInfo;
}else
{
echo "恭喜发送成功!";
}