使用PHPMailer发送邮件

如果要使用php发送邮件,则可以使用PHP 内置的mail() 函数,但是mail()函数需要有服务器支持 必须有自己的邮件服务器,如果使用stmp服务来发送邮件的话相当于代替别人发送,而不是从自己服务器发送,所以不适合。(李昌辉)

再有就是mail()函数本身的特点,mail() 函数功能并不完善,只能发送文本的 e-mail,使用 mail() 函数发送的邮件没有进行身份验证,很多邮件收不到使用 mail() 函数发送的邮件或者发送的邮件直接进入垃圾邮箱。

如果想要在自己的php程序中使用已经有的邮箱账号(例如126邮箱账号)来发送邮件的话,可以使用PHPMailer类来实现。

本人测试使用的是126邮箱账号,使用126的stmp服务进行发送邮件,具体步骤如下:

1.登录自己的邮箱,在设置里面开启POP3/SMTP服务。

在开启该服务的时候,需要设置授权码,该授权码就是将来使用smtp服务的密码。

2.下载PHPMailer,新建测试文件,在文件里面引入PHPMailer文件夹下的class.phpmailer.php。

include("./PHPMailer/class.phpmailer.php");

3.在该页面造PHPMailer对象写入以下代码,其中***部分是根据自身情况填写的。

$mail = new PHPMailer();
$mail->isSMTP(); // 启用SMTP
//$mail->SMTPDebug=1; //开启调试模式
//$mail->SMTPSecure = "ssl";
$mail->CharSet='utf-8'; //设置邮件编码格式
$mail->Host="smtp.126.com;"; //smtp服务器的名称(这里以126邮箱为例)
$mail->SMTPAuth = true; //启用smtp认证
$mail->Username = "*****"; //你的邮箱名可以不写@后缀,也可以写
$mail->Password = "*****" ; //邮箱密码,现在开启邮箱SMTP后叫做安全码
$mail->Port=25; //SMTP端口号
//$mail->Port = 994;
$mail->setFrom("****@126.com","alvin"); //发件人地址(也就是你的邮箱地址)和发件人名称
$mail->AddAddress("****@qq.com",""); //接收人地址和名称
$mail->WordWrap = 100; //设置每行字符长度
$mail->isHTML(true); // 是否HTML格式邮件
$mail->Subject ="你好这是测试的"; //邮件主题
$mail->Body = "给你发送个信息"; //邮件内容
//$mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
var_dump($mail->Send()); //发送方法,发送成功返回true,失败返回false
//echo $mail->ErrorInfo; //获取错误信息

4.填写好相应的数据,运行该页面,即可发送成功

原文地址:https://www.cnblogs.com/lingxin/p/5951538.html