PHP使用PHPMailer实现从163网易邮箱到QQ邮箱的发送邮件。
1. 首先,去下载PHPMailer
下载之后,将文件解压到项目目录的对应位置,将class.phpmailer.php和class.smtp.php引入项目中
2. 在163邮箱客户端获取SMTP的授权码,获取方法参见百度经验,并且请将授权码代替邮箱密码在客户端登录邮箱使用。
3. 配置php.ini
配置SMTP, smtp_port默认25,sendmail_path(这个路径是之前下载好的,想用sendmail发送邮件来着~)
顺便丢上来sendmail.ini的配置:
[sendmail]
smtp_server=smtp.163.com
smtp_port=25
smtp_ssl=none
; if your smtp server requires authentication, modify the following two lines
auth_username=asinaqq@163.com
; 下面这个是stmp的授权码,代替邮箱密码
auth_password=87794055dsdsfsd
可行代码:
<?php
require './lib/phpMailer/class.phpmailer.php';
require './lib/phpMailer/class.smtp.php';
date_default_timezone_set('Asia/Shanghai');//设定时区东八区
$mail = new PHPMailer(); //建立邮件发送类
$address = "2016968116@qq.com";
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->CharSet ="UTF-8";//设置编码,否则发送中文乱码
$mail->Host = "smtp.163.com"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "asinaqq@163.com"; // 邮局用户名(请填写完整的email地址)
$mail->Password = "87794055dsdsfsd"; // 邮局密码,是发件人163账号的smtp授权码
$mail->From = "asinaqq@163.com"; //邮件发送者email地址
$mail->FromName = "asinaqq";
$mail->AddAddress($address);//收件人地址,可以替换成任何想要接收邮件的email信箱
//$mail->AddReplyTo("", "");
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
//$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式
$mail->Subject = "验证邮件"; //邮件标题
$mail->Body = "Hello,这是测试邮件"; //邮件内容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略
if(!$mail->Send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo "Message sent!恭喜,邮件发送成功!";
}