php 发送邮件端口,PHP 使用 PHPMailer 发送邮件

最近准备写一个个人博客,博客的用户注册和找回密码都需要邮件验证。PHP 虽然提供了 mail 函数来发送邮件,但是 mail 函数的功能限制较多,只能发送普通文本,如果要发送 HTML 或附件就比较麻烦。

在逛 Github 的时候看到一个功能比较强大的邮件发送类 PHPMailer ,很多著名的 PHP 开源项目 比如 WordPress、Drupal、SugarCRM 也都在用 PHPMailer 发送邮件。

下面就简单写一下 PHPMailer 发送邮件的过程。

可以使用 Composer 安装,也可以手动下载项目引入,我这里是手动下载项目引入。

发送邮件

发送邮件相关的代码都在 src 目录中,language 目录中包含了不同语言的报错信息。

下面使用 SMTP 发送邮件:<?php

use PHPMailer\PHPMailer\PHPMailer; // 设置命名空间

use PHPMailer\PHPMailer\SMTP; // 设置命名空间

use PHPMailer\PHPMailer\Exception; // 设置命名空间

require 'src/Exception.php';

require 'src/PHPMailer.php';

require 'src/SMTP.php';

$mail = new PHPMailer(true); // 创建邮件发送对象

try {

// 服务器相关设置

$mail->SMTPDebug = SMTP::DEBUG_SERVER; // 输出服务器日志

$mail->isSMTP(); // 使用 SMTP 来发送邮件

$mail->SMTPAuth = true; // 启用 SMTP 身份验证

$mail->Host = 'smtp.qq.com'; // SMTP 服务器地址

$mail->Username = 'email@misterma.com'; // SMTP 用户名

$mail->Password = 'wvikg5hyswveche'; // 密码

$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // 使用 TLS 加密

$mail->Port = '25'; // SMTP 端口

// 发件人和收件人

$mail->setFrom('email@misterma.com', 'Mr. Ma'); // 发件人

$mail->addAddress('usmmiuy@gmail.com', 'Joe User'); // 添加收件人

// 邮件标题和内容

$mail->isHTML(true); // 邮件格式设置为 HTML

$mail->Subject = '这是邮件标题'; // 邮件标题

$mail->Body = '这是 HTML 内容 加粗的文字'; // HTML 内容

$mail->AltBody = '文本内容'; // 纯文本

$mail->addAttachment('tutorial.txt'); // 添加附件

$mail->send(); // 发送

echo '发送完成';

} catch (Exception $e) {

// 输出错误信息

echo '错误:' . $mail->ErrorInfo;

}

我上面使用的是 QQ邮箱的 SMTP 服务。

一些属性和方法说明

下面是服务器相关的一些属性说明:$mail->Host:设置 SMTP 服务器地址,不同邮箱服务的 SMTP 地址也会不一样,下面会有常用的邮箱服务的 SMTP 地址。

$mail->Username:SMPT 用户名,一般也就是发送邮件的邮箱地址。

$mail->Password:SMTP 的用户密码,有的邮箱服务可以直接使用邮箱密码,有的邮箱在开启 SMTP 后会生成一个独立的授权码。

$mail->Port:SMTP 服务器端口,不同邮箱服务的端口也会不一样,下面会写常用的邮箱的 SMTP 端口。

下面是发件人和收件人相关的一些方法说明:$mail->setFrom():发件人,第一个参数是发件人邮箱地址,第二个参数是发件人姓名。

$mail->addAddress():添加收件人,第一个参数是收件人的邮箱地址,第二个参数是收件人的姓名,收件人可添加多个。

下面是邮件标题和邮件内容相关的一些方法说明:$mail->isHTML():使用 HTML 格式。

$mail->Subject:邮件的标题或主题。

$mail->Body:邮件内容。

$mail->AltBody:邮件内容(纯文本)。

$mail->addAttachment:添加附件,参数就是文件名,附件可以添加多个。

常用邮件服务的 SMTP 地址和端口

下面是一些常用的邮箱服务的 SMTP 地址和端口:服务商SMTP 地址SMTP 端口QQ邮箱smtp.qq.com25

网易126邮箱smtp.126.com25

网易163邮箱smtp.163.com25

新浪邮箱smtp.sina.cn25

Gmailsmtp.gmail.com465

雅虎邮箱smtp.mail.yahoo.com465

Foxmail邮箱 可以直接使用 QQ邮箱 的 SMTP 地址和端口。

以上就是 PHPMailer 发送邮件的简单演示,PHPMailer 还有很多选项可以设置。如果要查看更多的设置选项可以访问官方的 API 文档 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值