使用PHPMailer-master发送邮件

一:开启Socket扩展

打开php.ini文件
打开文件搜索extension=php_sockets.dll,将前面的分号去掉,便开启了Socket扩展
文件现在测试是否开启成功,新建php文件,输入代码:

<?php
phpinfo();

打开后找到Sockets Support,此时应该为enabled
展示

二:开启openssl 扩展

打开php.ini开启搜索extension=php_openssl.dll,去掉前面的分号
展示检查是否开启成功(注意重启服务器):

展示

三:获得邮箱授权码

以QQ邮箱为例:
展示进入账户:
展示下拉开启开启IMAP/SMTP服务,发送短信后获得授权码。
展示## 四:下载PHPMailer-master

点击下载PHPMailer-master。本链接由php中文网提供。
将其放在根目录,创建PHPMailer.php文件,开始写代码发邮件:

<?php

// 引入PHPMailer-master文件
require 'PHPMailer-master/PHPMailerAutoload.php';

// PHPMailer提供了PHPMailer类,此处先实例化PHPMailer核心类
$mail = new PHPMailer();

// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;

/*
 * 设置phpmailer发邮件的方式
 * 1. win下可以用mail()函数发
 * 2. linux下可以用sendmail,qmail来发
 * 3. 可以利用smtp协议登录到某个账户上再发
 */
// 此处使用smtp鉴权方式发送邮件
$mail->isSMTP();
// smtp需要鉴权 这个必须是true
$mail->SMTPAuth = true;
// 链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.qq.com';
// 设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
// 设置ssl连接smtp服务器的远程服务器端口号
$mail->Port = 465;
// 设置发送的邮件的编码
$mail->CharSet = 'UTF-8';
// 设置邮件名称
$mail->FromName = 'eyes++';
// smtp登录的账号 QQ邮箱即可
$mail->Username = '792734338@qq.com';
// smtp登录的密码 使用生成的授权码(开启IMAP/SMTP服务获得)
$mail->Password = 'XXXXXXXXXXXXXXXX';
// 设置发件人邮箱地址 同登录账号
$mail->From = '792734338@qq.com';
// 邮件正文是否为html编码 注意此处是一个方法
$mail->isHTML(true);
// 设置收件人邮箱地址
$mail->addAddress('792734338@qq.com',QQ);
// 添加多个收件人 则多次调用方法即可
$mail->addAddress('eyes7927@163.com',网易号);
// 设置抄送人
$mail->AddCC('chaosong@163.com','勤恳的抄送人');
// 添加该邮件的主题
$mail->Subject = 'test';
// 添加邮件正文
$mail->Body = '<h1>h1大小</h1><p>p标签大小</p>';
// 为该邮件添加附件
//$mail->addAttachment('./example.pdf');
// 发送邮件 返回状态
echo $mail->send() ? 'ok':'fail';

效果展示:
QQ邮箱网易邮箱另外从效果上看,我发现QQ邮箱似乎不支持设置收件人姓名:
在这里插入图片描述
大家有兴趣的话还可以看看我的另外两篇博客:

更多相关内容大家可以前往我的个人博客浏览:eyes++的个人空间

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
<?php require './PHPMailer-master/PHPMailerAutoload.php'; $mail = new PHPMailer; //$mail->SMTPDebug = 3; // 关闭SMTP调试功能 1 = error // Enable verbose debug output $mail->isSMTP(); // 使用SMTP服务 // Set mailer to use SMTP $mail->Host = 'smtp.163.com'; // 发送方的SMTP服务器地址 // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = '[email protected]'; // 发送方的163邮箱用户名 // SMTP username $mail->Password = 'xxxxx'; // 发送方的邮箱密码,注意用163邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码! // SMTP password $mail->SMTPSecure = 'ssl'; // 使用ssl协议方式 // Enable TLS encryption, `ssl` also accepted $mail->Port = 994; // 163邮箱的ssl协议方式端口号是465/994 // TCP port to connect to $mail->CharSet = "utf8"; // 编码格式为utf8,不设置编码的话,中文会出现乱码 $mail->SMTPAuth = true; // 是否使用身份验证 $mail->setFrom('[email protected]', 'myafa'); // 设置发件人信息,如邮件格式说明中的发件人,这里会显示为Mailer([email protected]),Mailer是当做名字显示 $mail->addAddress('[email protected]', '老铁'); // 设置收件人信息// Add a recipient $mail->addAddress('[email protected]', '老铁'); // 设置收件人信息, $mail->addAddress('[email protected]', '老铁'); // 设置收件人信息, //$mail->addAddress('[email protected]'); // Name is optional //$mail->addReplyTo('[email protected]', 'Information'); // 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址 //$mail->addCC('[email protected]'); // 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址 //$mail->addBCC('[email protected]'); // 设置秘密抄送人 //$mail->addAttachment('/var/tmp/file.tar.gz'); // 添加附件// Add attachments $mail->addAttachment('/61e8a1fdly1fcpvyl7dkzg20bi06d7wk.gif', '你.jpg'); // 添加附件// Optional name $mail->isHTML(true); // Set email format to HTML这是一款非常好用的邮件类,使用方法都已经在上面给大家贴出来了,需要的朋友可以直接下载使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值