# 邮件内容
### [](https://octobercms.com/docs/services/mail#message-content)留言内容
可以使用邮件视图或邮件模板在十月份发送邮件。邮件视图由**/ views**目录中文件系统中的应用程序或插件提供。而邮件模板是通过后端界面通过*系统>邮件模板*进行*管理的*。所有邮件都支持使用Twig进行标记。
可以选择使用此方法[在插件注册文件中注册](https://octobercms.com/docs/services/mail#mail-template-registration)邮件视图`registerMailTemplates`。这将自动生成一个邮件模板,并允许使用后端界面对其进行自定义。
### [](https://octobercms.com/docs/services/mail#mail-views)邮件检视
邮件视图驻留在文件系统中,所使用的代码表示视图文件的路径。例如,使用代码**author.plugin :: mail.message**发送邮件将使用以下文件中的内容:
~~~
plugins/ <=== Plugins directory
author/ <=== "author" segment
plugin/ <=== "plugin" segment
views/ <=== View directory
mail/ <=== "mail" segment
message.htm <=== "message" segment
~~~
邮件视图文件中的内容最多可以包括3个部分:**配置**,**纯文本**和**HTML标记**。各节按`==`顺序分开。例如:
~~~
subject = "Your product has been added to OctoberCMS project"
==
Hi {{ name }},
Good news! User {{ user }} just added your product "{{ product }}" to a project.
This message was sent using no formatting (plain text)
==
<p>Hi {{ name }},</p>
<p>Good news! User {{ user }} just added your product <strong>{{ product }}</strong> to a project.</p>
<p>This email was sent using formatting (HTML)</p>
~~~
> **注意:**邮件视图中支持基本的Twig标签和表达式。
的**纯文本**部分是可选的,一个视图可以仅包含在配置和HTML标记部分。
~~~
subject = "Your product has been added to OctoberCMS project"
==
<p>Hi {{ name }},</p>
<p>This email does not support plain text.</p>
<p>Sorry about that!</p>
~~~
#### 配置部分
配置部分设置邮件视图参数。支持以下配置参数:
| 参数 | 描述 |
| --- | --- |
| **学科** | 邮件主题,必填。 |
| **布局** | 该[邮件布局](https://octobercms.com/docs/services/mail#mail-layouts)代码,可选的。默认值为`default`。 |
### [](https://octobercms.com/docs/services/mail#mail-templates)使用邮件模板
邮件模板驻留在数据库中,可以通过*设置>邮件>邮件模板*在后端区域中创建。模板中指定的**代码**是唯一标识符,创建后即无法更改。
发送这些电子邮件的过程是相同的。例如,如果使用代码*this.is.my.email*创建模板,则可以使用以下PHP代码发送该模板:
~~~
Mail::send('this.is.my.email', $data, function($message) use ($user)
{
[...]
});
~~~
> **注意:**如果系统中不存在邮件模板,则此代码将尝试查找具有相同代码的邮件视图。
#### 自动生成的模板
邮件模板也可以通过[已注册的邮件视图](https://octobercms.com/docs/services/mail#mail-template-registration)自动生成。该**代码**值将与邮件视图路径相同(例如:author.plugin:mail.message)。如果邮件视图定义了**布局**参数,则将使用该参数为模板提供布局。
首次保存生成的模板时,在为指定代码发送邮件时将使用自定义内容。在这种情况下,邮件视图可以视为*默认视图*。
### [](https://octobercms.com/docs/services/mail#mail-layouts)使用邮件布局
可以通过选择*设置>邮件>邮件模板*,然后单击*布局*选项卡来创建*邮件**布局*。它们的行为就像CMS布局,它们包含邮件的支架。邮件视图和模板支持邮件布局的使用。
默认情况下,Oct具有两种主要的邮件布局:
| 布局 | 码 | 描述 |
| --- | --- | --- |
| 默认 | 默认 | 用于面向公众的前端邮件 |
| 系统 | 系统 | 用于内部后端邮件 |
### [](https://octobercms.com/docs/services/mail#mail-template-registration)注册邮件布局,模板和部分
可以将邮件视图注册为模板,这些模板将在后端自动生成以进行自定义。可以通过“*设置”>“邮件模板”*菜单自定义*邮件模板*。可以通过覆盖[插件注册类](https://octobercms.com/docs/plugin/registration#registration-file)的`registerMailTemplates`方法来注册模板。[](https://octobercms.com/docs/plugin/registration#registration-file)
~~~
public function registerMailTemplates()
{
return [
'rainlab.user::mail.activate',
'rainlab.user::mail.restore'
];
}
~~~
该方法应返回一个[邮件视图名称](https://octobercms.com/docs/services/mail#mail-views)数组。
像模板一样,可以通过覆盖[Plugin注册类](https://octobercms.com/docs/plugin/registration#registration-file)的`registerMailPartials`and`registerMailLayouts`方法来注册邮件部分和布局。[](https://octobercms.com/docs/plugin/registration#registration-file)
~~~
public function registerMailPartials()
{
return [
'tracking' => 'acme.blog::partials.tracking',
'promotion' => 'acme.blog::partials.promotion',
];
}
public function registerMailLayouts()
{
return [
'marketing' => 'acme.blog::layouts.marketing',
'notification' => 'acme.blog::layouts.notification',
];
}
~~~
该方法应返回一个[邮件视图名称](https://octobercms.com/docs/services/mail#mail-views)数组。数组键将用作`code`部分或布局的属性。
### [](https://octobercms.com/docs/services/mail#mail-global-variables)全局变量
您可以使用该`View::share`方法注册所有邮件模板全局可用的变量。
~~~
View::share('site_name', 'OctoberCMS');
~~~
可以在[插件注册文件](https://octobercms.com/docs/plugin/registration)的register或boot方法内部调用此代码。使用上面的示例,该变量`{{ site_name }}`将在所有邮件模板中可用。
- 基本说明
- 基本操作
- October cms 安装
- 后台控制器路径
- 图标
- 获取安装网上的插件/主题
- 插件构造器使用
- 定时任务
- October后台控制器
- vscode编辑器
- ajax操作
- 使用
- ajax更新组件
- ajax属性API
- JavaScript API
- ajax综合使用
- 主题
- 多语言主题
- 安装市场主题
- 主题程序处理
- 主题
- 页面
- 部件
- 布局
- 内容
- 组件
- 媒体
- 主题表单操作
- 表单使用
- 表单后端程序处理
- 插件
- 自定义插件
- 插件说明
- 插件导航条
- 插件数据库设置
- 插件的设置管理
- 插件的配置文件config
- 组件
- app服务
- app容器
- 扩展行为
- 缓存
- Collection类
- Lazy Collections
- Collection方法
- 助手函数
- 数组助手函数
- 路径助手函数
- 玄乐助手函数
- 其他助手函数
- 错误与记录
- 事件处理
- HTML页面
- 文件与目录操作
- 散列和加密
- 邮件
- 邮件内容
- 邮件发送
- 分页
- 模板解析器
- 动态解析器语法
- 队列消息
- 请求与输入
- 响应
- 视图
- 路由器
- 配置
- 验证操作
- 处理错误消息
- 错误消息与视图
- 可用的验证规则
- 有条件的验证规则
- 验证数组
- 错误消息
- 自定义验证规则
- 模型操作
- 定义模型与其属性
- 检索模型
- 插入与更新
- 删除模型
- 查询范围
- 事件操作
- 关联操作
- 定义关系
- 关系类型
- 多肽关系
- 关系查询
- 渴望加载
- 插入模型
- 数据库操作
- 基本用法
- 数据表结构
- 查询连贯操作
- 结果检索
- select子句
- 插入更新
- where子句
- 排序,分组,限制和偏移
- 文件附件
- Collection操作
- 属性操作
- 系列化json
- 数据库属性
- 数据库行为
- 控制器
- 后台控制器定义
- 后台页面
- 后台组件
- 后台表单
- 表单组件
- 表单视图
- 表单行为
- 后台列表
- 列表行为
- 列表过滤器
- 可用列类型
- 关系行为
- 关系行为类型
- 扩展关系行为
- 列表排序操作
- 导入导出操作
- 用于与权限
- corlate模板修改
- 修改顶部导航
- laravel问题
- 控制器不存在
- 控制器
- 路由组
- laravel笔记
- laravel 安装
- 伪静态配置
- 依赖注入 & 控制器
- 中间件
- 路由文件
- 视图