用 PHP 封装的发送邮件类
点击查看代码
<?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 封装的发送邮件类的更多相关文章
- python封装发送邮件类
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart i ...
- .NET3.5中JSON用法以及封装JsonUtils工具类
.NET3.5中JSON用法以及封装JsonUtils工具类 我们讲到JSON的简单使用,现在我们来研究如何进行封装微软提供的JSON基类,达到更加方便.简单.强大且重用性高的效果. 首先创建一个类 ...
- MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- JAVA中封装JSONUtils工具类及使用
在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...
- 使用libzplay库封装一个音频类
装载请说明原地址,谢谢~~ 前两天我已经封装好一个duilib中使用的webkit内核的浏览器控件和一个基于vlc的用于播放视频的视频控件,这两个控件可以分别用在放酷狗播放器的乐库功能和MV ...
- MySQL JDBC事务处理、封装JDBC工具类
MySQL数据库学习笔记(十)----JDBC事务处理.封装JDBC工具类 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit. ...
- DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)
DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类) 一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据 ...
- [iOS]封装单例类
[iOS]封装单例类 今天在学习iOS的SQLite开发,发现在需要使用SQLite的每个视图中,都需要对数据库进行打开或关闭,觉得挺麻烦的:于是在想能否写个单例类对这些操作进行封(因以前一直在使用D ...
- 1.使用C++封装一个链表类LinkList
使用C++封装一个链表类LinkList.写出相应一个测试用例 链表需要提供 添加 修改删除 除重 合并 排序创建 销毁等接口. 不能调用库函数或者使用STL等类库 题目延伸********** ...
随机推荐
- 【狂神说Java】Java零基础学习笔记-JavaSE总结
[狂神说Java]Java零基础学习笔记-JavaSE总结 JavaSE总结: -完结-撒花- [[狂神说Java]Java零基础学习视频通俗易懂]https://www.bilibili.com/v ...
- KES的执行计划分析与索引优化
今天我们继续探讨国产数据库KES的相关内容,本次的讨论重点将放在SQL优化的细节上.作为Java开发人员,我们通常并不需要深入了解数据库的底层实现细节,而是更多地关注如何提升应用性能与数据库的交互效率 ...
- C++书籍推荐
本人收藏的一些电子版: 阅读顺序 C++ primer 基础 Professional C++ 基础+新特性 现代C++语言核心特性解析 更多新特性,STL并发库介绍 C++ Templates 更多 ...
- 《C++并发编程实战》读书笔记(2):线程间共享数据
1.使用互斥量 在C++中,我们通过构造std::mutex的实例来创建互斥量,调用成员函数lock()对其加锁,调用unlock()解锁.但通常更推荐的做法是使用标准库提供的类模板std::lock ...
- idea社区版本创建springboot项目的三种方式
文章目录一.前言一.方式1:spring 官方创建 springboot项目1.打开在线的 spring initializr2.选择项目的语言.版本.依赖等3. 解压源码包,并使用IDEA打开4.测 ...
- [车联网/以太网] SOME/IP 协议
概述: SOME/IP 协议 车载以太网协议栈总共可划分为5层: 物理层 数据链路层 网络层 传输层 应用层 其中本文所要描述的SOME/IP就是一种应用层协议. SOME/IP协议内容按照AUTOS ...
- 地瓜机器人RDK Studio使用教程
一.RDK Studio简介 不知道大家在使用AI开发板的时候有没有遇到过板子官方镜像占据空间大难以保存,想要的时候找不到?官方示例项目久而久之便难以找寻?首次登陆开发板连接网络还需要准备显示器键盘鼠 ...
- web95 比较麻烦的interval绕过
审计 include("flag.php"); highlight_file(__FILE__); if(isset($_GET['num'])){ $num = $_GET['n ...
- 第10章 LINQ to XML
第10章 LINQ to XML 10.1 架构概述--DOM 和 LINQ to XML 的 DOM XML 文档可以用一棵对象树完整的表示,这称为"文档对象模型(document obj ...
- 五分钟搭建属于你的AI助手:Ollama+DeepSeek+AnythingLLM深度整合教程
作者简介 微信公众号:密码应用技术实战 博客园首页:https://www.cnblogs.com/informatics/ GitHub地址:https://github.com/warm3snow ...