当前位置: 首页 > news >正文

PHPMailer下载和使用教程(非常详细)

PHPMailer 是一款专为 PHP 语言编写的电子邮件发送库,是 PHP 发邮件的终极外挂。原生 mail() 函数只能裸发文本,HTML、附件、SMTP 认证全靠自己拼接,PHPMailer 把这一套封装成几个方法,new 完对象直接 Send() 就能跑。

PHPMailer 的同领域对手主要有 3 个,分别是 SwiftMailer 和 Symfony Mailer:

  1. SwiftMailer 已停止维护;
  2. Symfony Mailer 要 PHP 7.2+ 且依赖一堆组件,老项目升不动;
  3. PEAR Mail 十年不更新,官网 SSL 证书都过期。

相比之下,PHPMailer 有明显的优势:

  1. 文档中文翻译齐全,CSDN 博客示例成吨,复制就能跑;
  2. 异常信息人话级别,直接把 SMTP 返回码翻译成“密码错”“邮箱满”;
  3. GitHub issue 当天回,升级节奏稳,兼容老项目。

一句话,PHP 实现发电子邮件,不想折腾就用 PHPMailer,十分钟从 0 到发第一封 HTML 邮件,剩下的时间摸鱼不香吗。

下载安装PHPMailer

下载 PHPMailer 的方式有以下两种:
1、直接从 GitHub 上下载,下载地址为:

网盘下载:PHPMailer安装包

网盘里提供了最新版的 PHPMailer。

2、使用 composer 下载 Composer,下载地址为:

网盘下载:Composer安装包

下载会获得一个名为 "Composer-Setup.exe" 的安装程序,双击它开始安装:
① 直接点击 Next:

② 点击 browse 打开 php 文件夹下的 php.exe,然后点击 Next:

③ 后续一直按 Next,直到出现下图的界面,表示安装完成:

④ 按组合键 win + R 输入 cmd 出现命令提示框,输入 composer 回车,看到下图的输出信息证明安装成功:

3) 利用 Composer 安装 PHPMailer,按组合键 win + R 输入 cmd 出现命令提示框,输入下面指令:

composer require phpmailer/phpmailer

即可成功下载安装 PHPMailer。

使用PHPMailer

使用 PHPMailer 发送邮件之前,需要拥有自己的邮件服务器,测试的时候其实用自己申请的免费邮箱最方便了,不需要自己再搭建服务器了,可能要配置邮箱的 SMTP 服务,大部分公共邮箱(163、qq 等)为了安全默认是关闭的。

网易邮箱配置如下:

服务器名称服务器地址SSL协议端口号非SSL协议端口号
IMAPimap.163.com993143
SMTPsmtp.163.com465/99425
POP3pop.163.com995110

QQ 邮箱相关配置如下:

邮箱POP3服务器(端口995)SMTP服务器(端口465或587)
qq.compop.qq.comsmtp.qq.com

下面给出 php 代码示例:

<?phpuse PHPMailer\PHPMailer\PHPMailer;use PHPMailer\PHPMailer\Exception;require './src/Exception.php';require './src/PHPMailer.php';require './src/SMTP.php';$mail = new PHPMailer(true);                              // Passing `true` enables exceptionstry {//服务器配置$mail->CharSet ="UTF-8";                     //设定邮件编码$mail->SMTPDebug = 0;                        // 调试模式输出$mail->isSMTP();                             // 使用SMTP$mail->Host = 'smtp.163.com';                // SMTP服务器$mail->SMTPAuth = true;                      // 允许 SMTP 认证$mail->Username = '邮箱用户名';                // SMTP 用户名  即邮箱的用户名$mail->Password = '密码或者授权码';             // SMTP 密码  部分邮箱是授权码(例如163邮箱)$mail->SMTPSecure = 'ssl';                    // 允许 TLS 或者ssl协议$mail->Port = 465;                            // 服务器端口 25 或者465 具体要看邮箱服务器支持$mail->setFrom('xxxx@163.com', 'Mailer');  //发件人$mail->addAddress('aaaa@126.com', 'Joe');  // 收件人//$mail->addAddress('ellen@example.com');  // 可添加多个收件人$mail->addReplyTo('xxxx@163.com', 'info'); //回复的时候回复给哪个邮箱 建议和发件人一致//$mail->addCC('cc@example.com');                    //抄送//$mail->addBCC('bcc@example.com');                    //密送//发送附件// $mail->addAttachment('../xy.zip');         // 添加附件// $mail->addAttachment('../thumb-1.jpg', 'new.jpg');    // 发送附件并且重命名//Content$mail->isHTML(true);                                  // 是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容$mail->Subject = '这里是邮件标题' . time();$mail->Body    = '<h1>这里是邮件内容</h1>' . date('Y-m-d H:i:s');$mail->AltBody = '如果邮件客户端不支持HTML则显示此内容';$mail->send();echo '邮件发送成功';} catch (Exception $e) {echo '邮件发送失败: ', $mail->ErrorInfo;
}

发送完带附件的邮件界面如下:

http://www.dtcms.com/a/503006.html

相关文章:

  • 傻瓜式免费自助建站系统wordpress下拉
  • 【LeetCode热题100(47/100)】路径总和 III
  • bpmn-js 中如何完整导出 PNG(含自定义 Overlay)
  • 【图像处理】Gamma矫正
  • 【AI论文】MM-HELIX:借助整体式平台与自适应混合策略优化,提升多模态长链反思推理能力
  • Go 入门学习
  • IPoIB驱动中RSS/TSS技术深度解析与性能优化实践
  • Redis最佳实践
  • 鸿蒙NEXT Wear Engine开发实战:手机侧应用如何调用穿戴设备能力
  • github 个人静态网页搭建(一)部署
  • 【Go】C++ 转 Go 第(三)天:defer、slice(动态数组) 与 map
  • 【大模型微调】LLaMA Factory 微调 LLMs VLMs
  • 服务器管理:构建与维护高效服务器环境的指南
  • wordpress 网站生成app中山免费建站
  • 使用搭载Ubuntu的树莓派开启热点
  • 存算一体架构的先行者:RustFS在异构计算环境下的探索与实践
  • asp access网站建设源代码网站的开发流程可以分为哪三个阶段
  • SAUP论文提到的S2S Backbone Models是什么
  • 实战量化Facebook OPT模型
  • C 标准库函数 | strcmp, strlen
  • 图像处理~多尺度边缘检测算法
  • 网站集约化建设必要性wordpress 媒体库外链
  • springboot整合redis-RedisTemplate集群模式
  • Spring AOP 实战案例+避坑指南
  • 第三章 栈和队列——课后习题解练【数据结构(c语言版 第2版)】
  • Kubernetes Ingress与安全机制
  • 【企业架构】TOGAF架构标准规范-机会与解决方案
  • apache建设本地网站wordpress修改成中文字体
  • windows平台,用pgloader转换mysql到postgresql
  • Linux驱动第一期1-10-驱动基础总结