登录
首页 >  文章 >  php教程

PHPSMTP发邮件教程与代码示例

时间:2025-12-12 18:54:38 293浏览 收藏

推广推荐
免费电影APP ➜
支持 PC / 移动端,安全直达

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《PHP SMTP发邮件教程及示例代码》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

PHP mail()函数依赖本地sendmail易失败,推荐用PHPMailer通过SMTP直连邮箱服务商;需Composer安装、配置授权码与587/465端口,并注意云服务器端口屏蔽及环境变量存储敏感信息。

PHP邮件发送功能实现_PHP使用SMTP发送邮件示例

PHP 自带的 mail() 函数依赖本地 sendmail 服务,线上环境常因配置缺失或被屏蔽而失败。更可靠的方式是使用 SMTP 协议直连邮件服务商(如 Gmail、QQ 邮箱、163 邮箱或企业邮箱),配合 PHPMailer 等成熟库实现稳定发信。

安装并引入 PHPMailer

推荐用 Composer 安装最新版 PHPMailer:

  • 运行 composer require phpmailer/phpmailer
  • 在脚本开头加入:
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;
  • 记得包含自动加载:require 'vendor/autoload.php';

配置 SMTP 参数(以 QQ 邮箱为例)

QQ 邮箱需开启 SMTP 并获取授权码(非登录密码),端口通常为 587(TLS)或 465(SSL):

  • SMTP 服务器:smtp.qq.com
  • 端口:587(推荐 TLS)或 465(SSL)
  • 用户名:完整邮箱地址(如 user@qq.com)
  • 密码:QQ 邮箱设置中生成的“SMTP 授权码”
  • 发件人名称:可自定义,如 “技术支持”

发送邮件的最小可用代码

以下是一个简洁、带错误提示的发送示例:

$mail = new PHPMailer(true);
try {
    $mail->isSMTP();
    $mail->Host       = 'smtp.qq.com';
    $mail->SMTPAuth   = true;
    $mail->Username   = 'your@qq.com';
    $mail->Password   = 'your_app_password'; // 授权码,非邮箱密码
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port       = 587;

    $mail->setFrom('your@qq.com', '技术支持');
    $mail->addAddress('to@example.com', '收件人姓名');
    $mail->isHTML(true);
    $mail->Subject = '测试邮件';
    $mail->Body    = '<h2>这是一封 HTML 邮件</h2><p>支持样式和链接</p>';

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

常见问题与注意事项

避免踩坑,注意这些细节:

  • 国内云服务器(如阿里云、腾讯云)默认屏蔽 25 端口,务必改用 465 或 587
  • Gmail 需开启“两步验证”后生成应用专用密码;163/QQ 邮箱需在网页端手动开启 SMTP 并复制授权码
  • 收件人地址必须调用 addAddress() 显式添加,不能只写在 Body 里
  • 若报错 “Could not connect to SMTP host”,先 telnet 测试端口连通性:telnet smtp.qq.com 587
  • 生产环境建议封装成函数或服务类,敏感配置(账号密码)从环境变量读取

基本上就这些。不复杂但容易忽略授权码和端口限制,配对正确后发送成功率很高。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《PHPSMTP发邮件教程与代码示例》文章吧,也可关注golang学习网公众号了解相关技术文章。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>