0

0

用于 Web 应用程序开发的 WordPress:电子邮件集成

王林

王林

发布时间:2023-09-03 16:53:02

|

823人浏览过

|

来源于php中文网

原创

用于 web 应用程序开发的 wordpress:电子邮件集成

每个网络应用程序的主要组件之一就是发送电子邮件的能力。

现在,这并不意味着每个 Web 应用程序都是自己的邮件客户端(尽管人们确实创建了自己的邮件客户端)。

相反,我的意思是,当用户注册、用户修改密码、系统中的某些内容发生变化时,或者更一般地说,每当发生网站所有者想要通知用户的情况时,应用程序通常会发送电子邮件.

到目前为止,在本系列中,我们已经介绍了:

  • 用户管理
  • 权限
  • 会话管理

上一篇文章可以说是我们将要介绍的最复杂的文章之一;但是,对于那些希望向项目添加更多高级功能的人来说,这是必要的。

话虽如此,我们将从一些更复杂的材料中休息一下,看看 WordPress 在发送电子邮件方面必须提供什么。


了解电子邮件

在我们深入了解 WordPress API 在发送电子邮件、自定义电子邮件等方面提供的功能之前,了解有关电子邮件的一些知识非常重要。

也就是说,了解创建实际电子邮件的组成部分非常重要 - 毕竟,它不仅仅是地址、主题和内容。

在我们开始构建自己的自定义电子邮件之前,有一些技术上的细微差别值得理解。

标题

简而言之,电子邮件标头包含最少的信息集,包括:电子邮件的发送者以及电子邮件的发送地址。

通常,您可能会看到标头中包含的其他信息。例如,此信息可能包括发送电子邮件的时间戳。

对于 WordPress,除非另有指定,否则电子邮件标头中指定的发件人始终被定义为 WordPress 中的默认发件人。

例如,如果您希望将回复地址设置为“donotreply@domain.com”,那么您必须对此进行自定义。

此外,通常最好以数组的形式使用电子邮件标头,以便您可以轻松构建、指定和传递地址、抄送地址和密件抄送收件人。

MIME 类型

当谈到电子邮件遵循的格式时,您可能会看到两种形式:

  • 纯文本
  • HTML

您已经习惯在大多数现代电子邮件客户端中看到 HTML;但是,如果您有一个更简单的客户端,将其设置为仅显示纯文本,或者您在稍旧的手机上阅读电子邮件,那么您将以纯文本形式阅读内容。

WordPress 可以以纯文本或 HTML 形式发送电子邮件。

当我们查看如何以编程方式发送电子邮件的示例时,我们将具体了解如何做到这一点。简而言之,有一个钩子可以让它变得非常简单 - 但我们会等待看到它的实际效果,直到我们介绍电子邮件的其余必要部分。

附件

如您所知,附件实际上是您附加到电子邮件并发送给收件人的任何文件。

问题是,有一些管理电子邮件的规则 - 但它们不一定是由软件设置的。相反,服务器、电子邮件客户端和其他各种规则限制了我们可以在收件箱中接收的内容。

去日租网站系统
去日租网站系统

去日租程序是一款具有强大的功能的基于.NET+SQL2000+AJAX构架的房屋出租管理系统。 日租网站管理系统,采用ASP.NET2.0语言开发,它集成租房模块、文章模块、订单模块、邮箱短信模块、用户模板、SEO优化模块、房间模块、支付模块等多项强大功能。系统有多年经验的高级工程师采用三层架构开发,页面代码全部采用DIV+CSS,完全符合SEO标准,有利于搜索引擎关键排名优化。日租网站

下载

例如:

  • 某些客户端不允许发送 zip 文件或可执行文件
  • 许多电子邮件服务都有可附加的最大文件大小限制
  • 某些类型的电子邮件可能会根据其附件(或其内容)被标记为垃圾邮件

无论如何,这超出了我们的控制范围 - 我们只需要知道我们向谁发送电子邮件的限制,并确保我们遵守这些限制。

为此,创建通过 WordPress 电子邮件发送的附件非常简单。

虽然附件显然不是必需的,但您可能想要附加单个文件甚至多个文件。在 WordPress 中,这可以通过字符串或数组来完成。

我们现在不会具体了解如何做到这一点,但当我们查看如何以编程方式发送电子邮件的示例时,我们立即了解这一点。

收件人、主题和消息

在最基本的层面上,每封电子邮件都包含一个“收件人”电子邮件地址、一个“主题”和一个“消息” ”。

在 WordPress 中,这些设置也非常容易 - 只需为每个设置提供字符串,然后就可以开始了。

当然,如果您想向多个人发送电子邮件,您可以迭代地址集合并为每个用户发送一封电子邮件,或者您可以向 WordPress 提供一组收件人邮件 API,它会将电子邮件发送给所有包含在内的人。

请记住:如果您想指定不同的 reply-to 地址,请在我们在本文前面介绍的标头中指定该地址。


使用 WordPress 电子邮件 API

综上所述,我们准备好实际了解一下 WordPress 电子邮件 API。

简而言之,所有功能都包含在一个名为 wp_mail 的函数中;但是,如果我们想充分利用该应用程序提供的功能,有一些我们需要注意的地方。

所需的挂钩

具体来说,我们将使用以下钩子:

  • wp_mail_content_type 允许我们定义正在发送的电子邮件的 MIME 类型
  • wp_mail_from 是一个过滤器,我们可以使用它来定义发件人地址,而不是使用 $headers 数组
  • wp_mail_from_name 是一个过滤器,我们可以使用它来定义此人的发件人,而不是使用 $headers 数组
  • wp_login 是我们用于演示的钩子,这样每当有人登录 WordPress 仪表板时我们就会向某人发送电子邮件

为了完整起见,我将在下面分享整个代码,然后我们将逐步完成它。

源代码


'; $message .= 'Your account has been created. Your login information is below:'; $message .= '
'; $message .= '
    '; $message .= '
  • Username: ' . $input['email-address'] . '
  • '; $message .= '
  • Password: ' . $password . '
  • '; $message .= '
'; $message .= '
'; $message .= 'You can login to the application here.'; add_filter( 'wp_mail_content_type', create_function( '', 'return "text/html";' ) ); add_filter( 'wp_mail_from', 'acme_mail_from' ); add_filter( 'wp_mail_from_name', 'acme_mail_from_name' ); wp_mail( $input['email-address'], 'Your Acme Account Has Been Created!', $message, array() ); } function acme_mail_from( $email ) { // NOTE: replace [at] with @. This was causing problems with the syntax highlighter. return 'donotreply[at]acme.com'; } function acme_mail_from_name( $name ) { return 'The Acme Company'; }

如果您到目前为止一直在阅读本文,那么这一切都不会太令人惊讶:毕竟,我们正在利用 WordPress 提供的挂钩,我们正在构建字符串作为函数参数传递,然后我们调用 wp_mail 函数。

但是请注意,我们传递一个空数组作为此电子邮件的 $headers 参数。这是因为我们使用自定义过滤器来设置“发件人名称”和“发件人地址”,使用过滤器和挂钩函数而不是数组。

这种方式不一定比其他方式更好;然而,它的目的是证明有多种方法可以达到相同的结果。


现在,转向数据!

这是 WordPress 的另一个功能,可以让您轻松地将电子邮件功能包含到您的 Web 应用程序中。

事实上,我认为 WordPress 的事件模型使得在任何可以想象到的场景中引入电子邮件功能变得异常容易 - 如果有可用的钩子,就可以发送电子邮件。

话虽如此,是时候将我们的注意力转向 Web 应用程序开发最常见的方面之一:数据管理。

具体来说,我们需要研究如何将信息保存到数据库并从数据中检索信息,以及如何安全有效地完成这些操作。

因此,从下一篇文章开始,我们将这样做。

WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号