最近准备写一个个人博客,博客的用户注册和找回密码都需要邮件验证。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 文档 。

php 发送邮件端口,PHP 使用 PHPMailer 发送邮件相关推荐

  1. php mail发送邮件,PHP中利用PHPMailer实现发邮件

    下面以QQ邮箱为例,按照这四个方面来介绍PHPMaIiler的使用: PHPMailer的介绍 步骤一:使QQ邮箱能够发送邮件 步骤二:使PHP能够使用QQ邮箱发送邮件 步骤三:编写发送邮件代码 Th ...

  2. phpmailer 发送邮件空隙太大_WordPress纯代码无插件开启SMTP邮件服务——墨涩网

    wordpress 的SMTP邮件服务可以帮助我们更好的管理网站,功能包括使用 WordPress 邮件评论回复通知.用户注册邮件通知.以及其他邮件通知功能,这些基本都会使用 SMTP邮件服务,WP自 ...

  3. php xls 邮件,PHPMailer发送邮件

    PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及图片附件,前提要设置好邮件服务器就能实现邮件发送功能. HTML 首先我们先放置一个收件箱的输入框和一个发送邮件按 ...

  4. tp3.2使用QQ邮箱或163邮箱通过PHPMailer发送邮件

    我之前一直使用163邮箱发送需要处理的文件,但是如果操作过于频繁[或者有别的问题],会导致发送失败,相反现在用QQ的貌似还没出现过类似情况,不过QQ邮箱配置和163有一丢丢不一样,我还是贴一下,怕朋友 ...

  5. phpmailer 私密抄送_使用PHPMailer发送邮件实例

    本文实例为大家分享了PHPMailer发送邮件的具体代码,供大家参考,具体内容如下 /* to: 邮件接收地址 subject: 邮件主题 body: 邮件内容 attachpath:附件地址 cc: ...

  6. PHPMailer发送邮件(PHP发送电子邮件)

    很多网站注册时都会要求输入电子邮箱,其应用场景是比较广的,例如注册账号接收验证码.注册成功通知.登录通知.找回密码验证通知等.本文将介绍如何使用PHP实现发送邮件. 开源项目PHPMailer 使用了 ...

  7. phpmailer 发送邮件笔记整理

    要想使用phpmailer发送邮件,首先我们要去网上现在phpmailer文件包,网上资源很多,个人推荐下载地址:http://phpmailer.sourceforge.net. 然后你需要确认你的 ...

  8. phpmailer 私密抄送_使用 phpmailer 发送邮件,支持抄送、密送和发送附件

    1.使用 composer 下载 phpmailercomposer require phpmailer/phpmailer 2.自定义 Mailer.php 文件,我使用的是TP5.1的框架测试,可 ...

  9. php邮件发送tp,在Thinkphp3.2 中使用PHPMailer 发送邮件

    phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考. phpmailer发送邮件功能很强大,今天真 ...

最新文章

  1. 2022-2028年中国镀金属膜行业市场研究及前瞻分析报告
  2. 代码神器:拒绝重复编码,这款IDEA插件了解一下.....
  3. Google protobuf使用技巧和经验
  4. pyspark 连接mysql
  5. wxWidgets:wxCheckListBox类用法
  6. JavaWeb—优化JDBC代码
  7. 45.Linux/Unix 系统编程手册(下) -- System V IPC 介绍
  8. [JNI]开发之旅(8)传递参数给JNI函数
  9. mysql用alter创建外键_MySQL入门(alter语法 与 外键)
  10. [wechart] 微信小程序使用粘性定位position: sticky的注意事项(避坑)
  11. Mac PS 之 简单去除背景并设置背景透明,变更图片宽高。。。
  12. 使用ServiceMonitor管理配置监控
  13. Win10系统,如何清理电脑软件垃圾呢?
  14. 情人节到了,手把手教你做一个表白墙,附有详细步骤
  15. 【有利可图网】PS实战系列:用ps做出雨中油画的质感
  16. Ubuntu操作系统是什么?它和windows有什么区别呢?
  17. FPGA学习:Verilog基本语法
  18. uniCloud云开发
  19. 3d图形学中的uv坐标
  20. 《白话大数据与机器学习》学习笔记

热门文章

  1. Android App 性能优化之安装包大小
  2. 从注册表中获取文件的安装路径
  3. 【转载】笔记:计算机_体系结构_操作系统_软件_操作系统内核_GNU_Linux_C_Python_Latex_Java_TCP/IP_MacOS_Windows这些词语的历史,关系
  4. ios日期格式yyyy-MM-dd
  5. 玖益科技:价格设置的技巧是什么
  6. 论文格式之 参考文献跳转及自动更新
  7. Word 中由EndNote生成的参考文献格式调整
  8. 如何外网访问内网svn 网云穿内网穿透教你简单实现
  9. 【Python 机器学习实战】Logistic回归
  10. Python计算文本BLEU分数