全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

php如何实现邮件发送功能_phpmailer配置smtp与附件添加步骤

使用PHPMailer通过SMTP发送邮件并添加附件,首先通过Composer安装PHPMailer,然后配置SMTP信息如QQ邮箱的smtp.qq.com、端口465、SSL加密,启用SMTPAuth并设置Username和授权码Password,调用setFrom设置发件人,addAddress添加收件人,isHTML启用HTML内容,设置Subject和Body,通过addAttachment添加服务器路径上的附件文件,最后调用send发送邮件,并用try-catch捕获异常以确保稳定运行。

PHP 实现邮件发送功能最常用的方式是使用 PHPMailer,它支持 SMTP 配置、附件添加、HTML 内容等高级功能。下面详细介绍如何配置 PHPMailer 使用 SMTP 发送邮件,并添加附件。

安装 PHPMailer

推荐使用 Composer 安装 PHPMailer:

composer require phpmailer/phpmailer

如果没有使用 Composer,也可以从 GitHub 下载源码并手动引入。

配置 SMTP 发送邮件

以下是一个通过 SMTP 发送邮件的基础示例,以 QQ 邮箱为例(其他邮箱类似):

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php';

$mail = new PHPMailer(true); // 启用异常
try {
    $mail->isSMTP();
    $mail->Host = 'smtp.qq.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'your_email@qq.com';
    $mail->Password = 'your_authorization_code'; // 注意:不是登录密码,是授权码
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
    $mail->Port = 465;

    $mail->setFrom('your_email@qq.com', '发件人名称');
    $mail->addAddress('to@example.com', '收件人');

    $mail->isHTML(true);
    $mail->Subject = '测试邮件标题';
    $mail->Body = '

这是一封测试邮件

';
    $mail->AltBody = '纯文本内容:这是一封测试邮件';

    $mail->send();
    echo '邮件发送成功';
} catch (Exception $e) {
    echo "邮件发送失败: {$mail->ErrorInfo}";
}

注意:

  • QQ 邮箱的 SMTP 服务器 是 smtp.qq.com,端口为 465,加密方式为 SSL(ENCRYPTION_SMTPS)
  • 需要在邮箱设置中开启 POP3/SMTP 服务,并获取授权码作为密码
  • Gmail、163 等邮箱配置略有不同,如 Gmail 使用 TLS 加密,端口 587

添加附件

使用 addAttachment() 方法可以轻松添加附件:

// 添加一个附件
$mail->addAttachment('/path/to/file.pdf');

// 添加带自定义名称的附件
$mail->addAttachment('/path/to/photo.jpg', '我的照片.jpg');

附件路径必须是服务器上的绝对路径或相对路径,且 PHP 有读取权限。

如果要添加多个附件,重复调用 addAttachment 即可:

$mail->addAttachment('./files/doc1.pdf');
$mail->addAttachment('./files/image.png');

常见问题与建议

  • 确保服务器允许外联 SMTP 端口(如 465、587),部分虚拟主机可能屏蔽
  • 使用 try-catch 捕获异常,便于调试错误
  • 避免频繁发送,防止被识别为垃圾邮件
  • 生产环境建议使用更稳定的邮件服务(如 SendGrid、阿里云邮件推送)

基本上就这些,配置正确后,PHPMailer 能稳定实现邮件发送和附件功能。


# php  # word  # html  # git  # composer  # github  # 端口  # qq  # ssl  # 阿里云  # ai  # pdf  # 邮箱  # echo  # require  # mail  # try  # catch  # 发送邮件  # 邮件发送  # 这是  # 一封  # 是一个  # 多个  # 推荐使用  # 如果没有  # 自定义  # 详细介绍 


相关文章: 微信小程序 五星评分(包括半颗星评分)实例代码  C++如何使用std::optional?(处理可选值)  建站主机是什么?如何选择适合的建站主机?  高端建站三要素:定制模板、企业官网与响应式设计优化  如何构建满足综合性能需求的优质建站方案?  制作网站外包平台,自动化接单网站有哪些?  如何选择香港主机高效搭建外贸独立站?  *服务器网站为何频现安全漏洞?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  如何通过cPanel快速搭建网站?  如何在Golang中使用replace替换模块_指定本地或远程路径  定制建站哪家更专业可靠?推荐榜单揭晓  建站主机系统SEO优化与智能配置核心关键词操作指南  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  如何在VPS电脑上快速搭建网站?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  建站三合一如何选?哪家性价比更高?  香港服务器选型指南:免备案配置与高效建站方案解析  简单实现Android文件上传  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  寿县云建站:智能SEO优化与多行业模板快速上线指南  如何在万网开始建站?分步指南解析  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  如何通过PHP快速构建高效问答网站功能?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  表情包在线制作网站免费,表情包怎么弄?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何在Tomcat中配置并部署网站项目?  已有域名如何快速搭建专属网站?  定制建站如何定义?其核心优势是什么?  如何快速搭建FTP站点实现文件共享?  如何用腾讯建站主机快速创建免费网站?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  专业公司网站制作公司,用什么语言做企业网站比较好?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  建站之星微信建站一键生成小程序+多端营销系统  建站之星在线客服如何快速接入解答?  如何在阿里云香港服务器快速搭建网站?  如何通过网站建站时间优化SEO与用户体验?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  图册素材网站设计制作软件,图册的导出方式有几种?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  网页制作模板网站推荐,网页设计海报之类的素材哪里好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。