下面使用PHP类库PHPmainPHP邮件发送,亲测可行,有什么疑问欢迎留言哦。
采用的是PHPMailer_v5.1类库
以下附上下载链接
链接:https://pan.baidu.com/s/1AkM2fO3aOoTvCioL8vE4rA
提取码:vmop
一、前期准备:
下载好类库后,首先注册好一个邮箱,下面我将以163邮箱为例子,我们需要配置以下我们浏览器先:
上面这串东西可重要了,一定要记住好。
二、coding我们打开我们在云盘下载的文件里面有测试用例
/**
* Simple example script using PHPMailer with exceptions enabled
* @package phpmailer
* @version $Id$
*/
require '../class.phpmailer.php';
try {
$mail = new PHPMailer(true); //New instance, with exceptions enabled
$body = file_get_contents('contents.html'); //编辑的信息的内容,可以适当做修改
$body = preg_replace('/\\\\/','', $body); //Strip backslashes
$mail->IsSMTP(); // tell the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 25; // set the SMTP server port
$mail->Host = "mail.yourdomain.com"; // SMTP server //这里是刚刚图片上的SMTP sever:如smtp.163.com
$mail->Username = "name@domain.com"; // SMTP server username 邮箱的名称
$mail->Password = "password"; // SMTP server password 这里填的是授权码
$mail->IsSendmail(); // tell the class to use Sendmail 由于我们没有这个插件 所以需要注释掉这句话
$mail->AddReplyTo("name@domain.com","First Last");
$mail->From = "name@domain.com";//邮箱账号
$mail->FromName = "First Last";
$to = "someone@example...com";//发送用户的邮箱
$mail->AddAddress($to);
$mail->Subject = "First PHPMailer Message";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->WordWrap = 80; // set word wrap
$mail->MsgHTML($body);
$mail->IsHTML(true); // send as HTML
$mail->Send();
echo 'Message has been sent.';
} catch (phpmailerException $e) {
echo $e->errorMessage();
}
记得好好看上面的的注释哦!
下面解释一下,可能会遇到的问题:
1.编辑的信息应该适当的修改,因为测试用例编辑的邮件的内容比较短,所以容易被其他邮箱当做垃圾处理,所以即使发送成功,用户也只能在垃圾箱里找到(例如QQ)
2.SMTP 服务器用的你邮箱对应的那种,作为发射站
3.使用授权码代替密码 这点一定不能搞错
4.注释掉没有得插件
因为我们没有使用的sendmail插件所有请注释掉
三、收工总结:
其实,这个封装的到时十分轻便,主要是SMTP不理解 就比较麻烦了 还有测试的时候 建议使用163发送给163邮箱 因为QQ的垃圾邮件过滤太强了 很多时候压根你就没有反应 还有不会的多看点文章,,,方法有很多种 但是太凌乱 和太长了 所以自己总结了一下 希望可以帮到有需要的朋友