点击查看代码
<?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('your_email@example.com', 'Your Name');
$mailer->setToEmail('recipient@example.com');
$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.";
}

用 PHP 封装的发送邮件类的更多相关文章

  1. python封装发送邮件类

    import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart i ...

  2. .NET3.5中JSON用法以及封装JsonUtils工具类

    .NET3.5中JSON用法以及封装JsonUtils工具类  我们讲到JSON的简单使用,现在我们来研究如何进行封装微软提供的JSON基类,达到更加方便.简单.强大且重用性高的效果. 首先创建一个类 ...

  3. MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  6. 使用libzplay库封装一个音频类

    装载请说明原地址,谢谢~~      前两天我已经封装好一个duilib中使用的webkit内核的浏览器控件和一个基于vlc的用于播放视频的视频控件,这两个控件可以分别用在放酷狗播放器的乐库功能和MV ...

  7. MySQL JDBC事务处理、封装JDBC工具类

    MySQL数据库学习笔记(十)----JDBC事务处理.封装JDBC工具类 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit. ...

  8. DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

    DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类) 一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据 ...

  9. [iOS]封装单例类

    [iOS]封装单例类 今天在学习iOS的SQLite开发,发现在需要使用SQLite的每个视图中,都需要对数据库进行打开或关闭,觉得挺麻烦的:于是在想能否写个单例类对这些操作进行封(因以前一直在使用D ...

  10. 1.使用C++封装一个链表类LinkList

     使用C++封装一个链表类LinkList.写出相应一个测试用例 链表需要提供 添加 修改删除 除重 合并 排序创建 销毁等接口. 不能调用库函数或者使用STL等类库 题目延伸********** ...

随机推荐

  1. Yano 的 2024 观影总结

    前言 2024 年马上就要过去了,总结下自己在 2024 年看过的影视作品. PS:我是用 Cursor 写的,所有有一些文字可能是 Cursor 自动补全的,不是我写的 0_o 电影 <怪物& ...

  2. Java 中toString方法在枚举中的应用:展示枚举字段信息

    在Java编程中,枚举(enum)是一种特殊的数据类型,它允许程序员定义一组固定的常量.枚举类型在Java中非常有用,尤其是在需要表示一组固定选项(如星期.月份.方向等)时.尽管枚举类型在定义时看起来 ...

  3. 中间件 vs 过滤器

    在 ASP.NET Core 中,中间件(Middleware) 和 过滤器(Filters) 是两种不同的机制,用于处理请求和响应的管道.它们的作用和适用场景有所不同,以下是它们的对比和详细说明: ...

  4. PMP视频总结

    https://edu.51cto.com/center/wejob/user/course?train_id=955 重要链接:①[PC端学习平台]:https://edu.51cto.com/ce ...

  5. UML的9种常用图与建模工具详解

    UML即Unified Model Language,是一种建模语言,也是标准建模语言.在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便 ...

  6. w3cschool-XML教程

    参考https://www.w3cschool.cn/xml/ XML 教程 让我们先来简单的了解一下 XML: XML 指可扩展标记语言(eXtensible Markup Language). X ...

  7. http 协议请求响应模型

    http 协议请求响应模型(一次请求生命周期或简单的软件分层) 场景: 登录 1.客户端发起请求到api接口层 1.1用户在客户端填写用户名和密码,点击登录,发送请求. 2.api接收到客户端发起的用 ...

  8. 独立开发经验谈:我是如何借助 Docker 环境变量让客户 1 分钟上线客服系统的

    我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统.陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户,在这个过程中,我也积累了不少如何开发运营 ...

  9. THUWC2025 游记

    Day -C 先进入金国大臣面积群,然后发现 xyf 又在行联考学生群故事. Day -1 早上赶飞机进京.飞机上启动钢丝.到达大兴机场之后坐火车前往北京西站,然后坐地铁到海淀黄庄.非常饿,但是决定先 ...

  10. .NET中 泛型 + 依赖注入 的实现与应用

    在.NET中,注入泛型依赖项是一个常见的场景. 在依赖注入(DI)中使用泛型可以使得应用程序更加模块化.易于测试和扩展. 在ASP.NET Core中注册泛型服务 假设我们有一个需要注入的泛型接口 I ...