PHPMailer使用封装教程:为自己的PHP项目配置邮件功能

本教程详细介绍了如何使用PHPMailer 6.6.4为PHP项目配置邮件功能。通过GitHub下载或Composer安装PHPMailer,然后配置并封装代码,确保openssl和sockets扩展开启。提供了163和QQ邮箱的配置参考。
摘要由CSDN通过智能技术生成

PHPMailer使用封装教程:为自己的PHP项目配置邮件功能

若为获取最佳阅读体验,请移步至本文永久链接:https://xenns.com/posts/1df67ba2/

开源的PHPMailer简洁易用,相对于PHP官方文档提供的mail()需要一个已安装且正在运行的邮件系统,才能使邮件函数可用,选择更强大易用的PHPMailer无疑一个更为明智的选择。

一、引言

最近在对一个停止维护的必应每日壁纸源码进行二次开发,在开发过程期间难免会有报错。为了避免每次报错的时候还需要去翻阅日志,就想到了用邮件把每天的自动抓取结果发送到自己的邮箱里。每次运行的结果都能及时的收到通知。本想PHPMailer的封装教程在网上已经不再罕见,去翻阅的时候却发现大部分的封装教程或多或少都有点过时了。索性我直接去翻阅了官方文档,按照官方的使用建议,去除了不必要的配置内容并进行了封装,也写下了比较符合现在PHPMailer的封装教程以供网友们查阅。

二、PHPMailer下载

PHPMailer的下载有两种方式,直接下载GitHub源代码或通过Composer安装。

这里我以Github源码下载方式以及163邮箱配置为例。

2.0 示例版本

今天是2022-09-18,我所使用的版本为PHPMailer 6.6.4

2.1 从 github 上下载

GitHub链接:https://github.com/PHPMailer/PHPMailer/

2.2 通过Composer安装

composer require phpmailer/phpmailer

2.3 下载PHPMailer 6.6.4(可选)

为防止本文配置适用性降低,推荐大家下载与本文版本相同的6.6.4版本。
本文所用源码下载链接在文末给出。

2.4 所需文件

下载完成后的目录结构应为如下所示,我们只需要src目录下的Exception.phpPHPMailer.phpSMTP.php三个文件,并将它放入项目目录中。

PHPMailer
│ 
│  COMMITMENT
│  composer.json
│  darknetf.txt
│  get_oauth_token.php
│  LICENSE
│  README.md
│  SECURITY.md
│  VERSION
│  
├─language
│      phpmailer.lang-zh.php
│      phpmailer.lang-zh_cn.php
│      
└─src
        Exception.php
        OAuth.php
        OAuthTokenProvider.php
        PHPMailer.php
        POP3.php
        SMTP.php

三、配置与使用

3.0 环境要求

注意,在使用之前,应检查PHP的openssl扩展与sockets扩展是否已开启。

3.1 官方示例

<?php
//Import PHPMailer classes into the global namespace
//These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

//Load Composer's autoloader
require 'vendor/autoload.php';

//Create an instance; passing `true` enables exceptions
$mail = new PHPMailer(true);

try {
   
    //Server settings
    $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      //Enable verbose debug output
    $mail->isSMTP();                                            //Send using SMTP
    $mail->Host       = 'smtp.example.com';                     //Set the SMTP server to send through
    $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
    $mail->Username   = 'user@example.com';                     //SMTP username
    $mail->Password   = 'secret';                               //SMTP password
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption
    $mail->Port       = 465;                                    //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`

    //Recipients
    $mail->setFrom('from@example.com', 'Mailer');
    $mail<
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值