首页 > 编程语言 >用 PHP 封装的发送邮件类

用 PHP 封装的发送邮件类

时间:2024-09-29 11:26:22浏览次数:5  
标签:body mailer 封装 headers PHP public 邮件 subject

点击查看代码
<?php

class MailSender {
    // 发件人邮箱地址
    private $fromEmail;
    // 发件人名称
    private $fromName;
    // 收件人邮箱地址
    private $toEmail;
    // 邮件主题
    private $subject;
    // 邮件内容
    private $body;

    // 构造函数,接收发件人邮箱和名称进行初始化
    public function __construct($fromEmail, $fromName) {
        $this->fromEmail = $fromEmail;
        $this->fromName = $fromName;
    }

    // 设置收件人邮箱地址的方法
    public function setToEmail($toEmail) {
        $this->toEmail = $toEmail;
    }

    // 设置邮件主题的方法
    public function setSubject($subject) {
        $this->subject = $subject;
    }

    // 设置邮件内容的方法
    public function setBody($body) {
        $this->body = $body;
    }

    // 发送邮件的方法
    public function sendMail() {
        // 设置邮件头,包含发件人信息、MIME 版本和内容类型
        $headers = "From: {$this->fromName} <{$this->fromEmail}>\r\n";
        $headers.= "MIME-Version: 1.0\r\n";
        $headers.= "Content-Type: text/html; charset=UTF-8\r\n";

        // 使用 PHP 的 mail 函数发送邮件,返回发送结果
        return mail($this->toEmail, $this->subject, $this->body, $headers);
    }
}
?>

使用

点击查看代码
// 使用示例
$mailer = new MailSender('[email protected]', 'Your Name');
$mailer->setToEmail('[email protected]');
$mailer->setSubject('Test Email');
$mailer->setBody('<h1>Hello!</h1>This is a test email.');

if ($mailer->sendMail()) {
    echo "Email sent successfully.";
} else {
    echo "Failed to send email.";
}

标签:body,mailer,封装,headers,PHP,public,邮件,subject
From: https://www.cnblogs.com/zxingduo/p/18439282

相关文章

  • sendmail发邮件指南:配置步骤与使用方法?
    sendmail发邮件性能怎么优化?如何用sendmail发邮件?sendmail发邮件系统因其稳定性和灵活性而广泛应用于各种服务器环境中。然而,对于初学者来说,sendmail发邮件的配置和使用可能显得有些复杂。AokSend将详细介绍sendmail发邮件的配置步骤和使用方法。sendmail发邮件:用户别名sen......
  • 封装axios请求
    1、为什么要封装axios封装axios,对错误信息进行统一处理,能提高代码简洁性,规范代码2、封装步骤2.1创建文件首先在utils文件夹下新建request.js文件,内容如下。要确保项目已经安装了axios,和element-uiimportstorefrom'@/store'import{getToken}from'@/utils/loca......
  • Codesys3.5 封装库 和 库的调用
    1、库的建立第一步。 2、新建个文件夹,方便管理哦 3、然后在文件右键》添加对象中添加几个pou   4、随便建立几个。 4、设置工程信息,也就库信息哦双击工程信息弹出 5、最后就是生成库文件哦。   6、调用刚才的库,要新建一个工程哦。   7......
  • 记录一个使用第三方USDT支付通道的PHP项目的开发过程及解决方案
    项目的需求背景接到一个项目,需要收付USDT,顾客要求用币安链的,即BSC链,需要实现:充值监控:当用户通过区块链钱包将USDT转账到指定地址时,系统能够监控并确认充值到账。提现功能:当用户发起提现请求时,系统能够根据用户指定的地址,自动完成USDT的转账操作。交易安全性:确保每笔交易......
  • 关于PHP方面需要掌握的一些基础语法
    成长路上不孤单......
  • C++ day02(函数、类和对象、封装、构造函数、析构函数)
    目录【1】函数1》内联函数inline 2》函数重载overload  3》函数的参数默认(缺省)值 4》哑元函数【2】类和对象1》类的定义 2》创建对象 【3】封装 【4】构造函数constructor1》基础使用2》构造初始化列表 3》构造函数的调用方式 4》拷贝构造函数1>概......
  • 双端之Nginx+Php结合PostgreSQL搭建Wordpress
    第一台虚拟机:安装Nginx更新系统包列表:sudoaptupdate安装Nginx及php扩展:sudoaptinstallnginxphp-fpmphp-pgsqlphp-mysqli-y启动Nginx服务:sudosystemctlstartnginx检查Nginx是否正常运行:xdg-openhttp://localhost注意:终端命令打开网址打......
  • 鸿蒙(HarmonyOS)实战开发篇——基于ArkUI现有能力实现自定义弹窗封装方案
    推荐看点鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总【OpenHarmony】鸿蒙南向开发保姆级知识点汇总~持续更新中……场景描述自定义弹窗是应用开发需要实现的基础功能,包括但不限于HarmonyOS开发者文档中定义的模态、半模态、Toast等形式,封装一个好用且和UI组件解耦的弹窗组......
  • el-table封装
    <template><div:class="['md-table',noPadding?'no-padding':'']":style="tableStyle"ref="refTable"v-resize="handleResize"><!--{{defultSelectRadioIndex}}......
  • REF3012, REF3020, REF3025, REF3030, REF3033, REF3040采用 SOT-23-3 封装的 REF30xx
    1特性•微型封装:SOT-23-3•低压降:1mV•大输出电流:25mA•高精度:0.2%•低IQ:42µA(典型值)•出色的额定温漂性能:–0°C至70°C范围内为50ppm/°C(最大值)––40°C至+125°C范围内为75ppm/°C(最大值)2应用•温度和压力发送器•便携式、电池供电类设备......