今晚我们聊聊利用PHP来发送邮件,而且邮件内容是添加图片附件,教程很有实用价值哦!
我们首先需要引入一个封装好的邮件发送类:PHPMailer,大家可以自行去百度下载,开源的。大家在学习之
前,必须先清晰一个概念,我们需要借助一个邮件服务器帮我们发送邮件,我们是无法直投邮件的,因为有反垃圾邮
件机制,我们需要找一个白名单里面的邮件服务器替我们完成这个工作,这里我们以163邮件服务器为例!
用开源的PHP Mailer类来发送邮件
发送步骤:
1:引入PHP Mailer类
2:实例化对象
3:配置属性
4:发送邮件
require('./PHPMailer/class.phpmailer.php');
$phpmailer = new PHPMailer();
// 设置phpmailer发信用的方式
// 利用smtp协议登陆到某个账户上,来发送邮件
// 调用php mailer类的方法
$phpmailer->IsSMTP(); // 用smtp协议来发
// 配置属性
$phpmailer->Host = 'smtp.163.com';
$phpmailer->SMTPAuth = true; // 是否身份验证,即需要设置正确用户名与密码才能发送邮件,安全!
$phpmailer->Username = '*******';
$phpmailer->Password = '*******'; // 163邮箱的账号与密码
// 调用PHPMailer库的AddAttachment添加附件的方法
// 第一个参数是文件路径
// 第二个是文件的名字,注意添上后缀名
// 第三个是固定的base64编码
// 第四个是文件类型,image/gif等等
$body = $phpmailer->AddAttachment('./REUS.jpg','REUS.jpg',"base64","image/jpg");
// 信头和内容
// 注意:这里必须写成163.com,因为我们是利用163服务器来转发的,必须指明
// 不能写成qq.com,也不能不写,不写的话会默认是localhost.com
$phpmailer->From = '******@163.com';
$phpmailer->FromName = 'smile gril';
$phpmailer->Subject = 'REUS';
$phpmailer->Body = $body;
//设置收信人,即接收邮件的用户邮箱
$phpmailer->AddAddress('******@qq.com','smile');
// 发信(调用send函数方法发信)
echo $phpmailer->send()?'ok':'fail';
今晚我们讲了利用PHPMailer这个类,轻松发送带图片的邮件,它其实还有很多用途,我们改天继续深入研究。
大家可以关注我的微信公众号:iwork,我会每天推送一篇原创文章,让大家都能有所收获!