sciactive / umailphp
为 Nymph 设计的电子邮件模板系统。
Requires
- sciactive/nymph-server: ^3.0@beta
This package is auto-updated.
Last update: 2023-01-07 11:28:08 UTC
README
为 Nymph 设计的电子邮件模板系统。
安装
composer require sciactive/umailphp npm install --save umailphp
uMailPHP 使用 \uMailPHP\Mail::configure() 静态方法进行配置。配置选项在 conf/defaults.php 中可用。
使用方法
// After creating the \MyApp\VerifyEmailDefinition class, which extends // \uMailPHP\Definition, you can use it like this: // Define any macros, and be sure to escape them with htmlspecialchars. $link = htmlspecialchars('https://example.com/userVerify?secret='.$someSecret); $macros = [ 'verify_link' => $link, 'start_date' => htmlspecialchars(\uMailPHP\Mail::formatDate( $user->startDate, 'date_med', '', $user->timezone )), 'to_phone' => htmlspecialchars(\uMailPHP\Mail::formatPhone($user->phone)), 'to_group' => htmlspecialchars($user->group->name) ]; // Create the mail object. Second argument can either be an email address or an // object with an 'email' property. $mail = new \uMailPHP\Mail('\MyApp\VerifyEmailDefinition', $user, $macros); // Send mail. if (!$mail->send()) { throw new \Exception('Email failed.'); }
工作原理
uMailPHP 使用三个部分来构造电子邮件
- 模板。
- 邮件定义。
- 可选的自定义重新定义,称为版本。
模板用于每个发送的电子邮件。它提供了电子邮件的基本布局。如果您在发送电子邮件时没有指定模板,则将使用第一个启用的模板。如果您尚未定义任何模板,则将使用默认模板。
邮件定义是一个负责启动电子邮件的 PHP 类。它提供了电子邮件的主要内容。例如,当新用户注册时发送的电子邮件的邮件定义可能涉及用户,并且可能包含电子邮件正文的用户信息。当用户进行购买时发送的电子邮件的定义可能提供有关购买和收据的信息。
版本存储在数据库中。当定义时,它将用于代替邮件定义来构建电子邮件正文。它可以通过设置 GUI 创建,而不是通过硬编码来自定义电子邮件内容。
如何自定义
您可以通过创建模板和版本来自定义电子邮件。当您创建模板时,您可以设计所有电子邮件的整体外观和设计。当您创建版本时,您可以自定义单一类型的电子邮件(例如新用户注册电子邮件)。
宏
电子邮件中的内容几乎总是包括变量,例如收件人的姓名,这些变量由宏处理。宏只是一个由井号符号包围的变量名(例如 #to_name#)。此文本在发送电子邮件之前被替换。
有通用宏,可以在任何模板、定义或版本中使用。还有特定于邮件定义的宏。例如,当用户与客户更改约会时发送的电子邮件的定义可能有名为 #old_date# 和 #new_date# 的宏。当您创建版本来自定义电子邮件时,可以使用这些宏。
注意
当格式化宏时,编辑整个宏字符串。如果您想使其加粗,则更改包括井号符号在内的整个字符串。
- 正确: #to_name#, #old_date#
- 错误: #to_name#, #old_date#