- FuelPHP 教程
- FuelPHP - 主页
- FuelPHP - 简介
- FuelPHP - 安装
- FuelPHP - 架构概述
- FuelPHP - 简单的 Web 应用程序
- FuelPHP - 配置
- FuelPHP - 控制器
- FuelPHP - 路由
- FuelPHP - 请求与响应
- FuelPHP - 视图
- FuelPHP - 演讲者
- FuelPHP - 模型和数据库
- FuelPHP - 表单编程
- FuelPHP - 验证
- 高级形式编程
- FuelPHP - 文件上传
- FuelPHP-Ajax
- FuelPHP - HMVC 请求
- FuelPHP - 主题
- FuelPHP - 模块
- FuelPHP - 包
- Cookie 和会话管理
- FuelPHP - 活动
- FuelPHP - 电子邮件管理
- FuelPHP - 分析器
- 错误处理和调试
- FuelPHP - 单元测试
- 完整的工作示例
- FuelPHP 有用资源
- FuelPHP - 快速指南
- FuelPHP - 有用的资源
- FuelPHP - 讨论
FuelPHP - 电子邮件管理
电子邮件功能是 Web 框架中最受欢迎的功能。FuelPHP 提供了一个优雅的电子邮件类,捆绑为一个包。它用于发送简单的纯文本电子邮件以及带有多个附件的高级富文本电子邮件。它支持以下功能 - 纯文本邮件、HTML 邮件、附件和内联附件。
配置
要在应用程序中启用电子邮件功能,我们只需加载主配置文件 Fuel/app/config/config.php 中指定的电子邮件包即可。
'always_load' => array ( 'packages' => array ( 'email', ), ),
另一种选择是加载电子邮件包,控制器本身如下。
\Package::load('email');
电子邮件设置可以在主配置文件中完成,一些重要选项如下:
driver - 电子邮件驱动程序,例如 smtp
is_html - 是否以 HTML 内容发送邮件
优先级- 电子邮件的优先级
smtp.host - SMTP 服务器主机
smtp.port - SMTP 服务器端口
smtp.username - SMTP 服务器用户名
smtp.password - SMTP 服务器密码
smtp.timeout - SMTP 超时
smtp.starttls - SMTP 服务器是否需要 STARTTLS 命令
电子邮件API
以下是电子邮件和电子邮件驱动程序类提供的 API。
锻造
目的:创建电子邮件驱动程序的实例。它根据收到的配置或输入创建驱动程序。电子邮件驱动程序提供创建和发送邮件的功能。一些可能的电子邮件驱动程序包括smtp、sendmail、mailgun和mandrill。
参数- 无或配置详细信息数组
返回- 返回 Email_Driver 对象
例如,
$email = \Email::forge(); $email = \Email::forge (array( 'driver' => 'smtp', ));
身体
目的- 设置消息正文
参数- $body - 消息正文
返回- 返回当前实例
例如,
$email = \Email::forge(); $email->body('Body message'); //or pass it a View $email->body(\View::forge('my/view', $data);
替代体
目的- 设置替代消息正文
参数- $alt_body - 替代消息正文
返回- 返回当前实例
例如,
$email = \Email::forge(); $email->alt_body('Body message'); //or pass it a View $email->alt_body(\View::forge('my/view', $data);
优先事项
目的- 设置邮件的优先级
参数-
$priority - 优先级的值。选项是 -
a. \Email::P_LOWEST * \Email::P_LOW * \Email::P_NORMAL * \Email::P_HIGH * \Email::P_HIGHEST
返回- 返回当前实例
例如,
$email = \Email::forge(); $email->priority(\Email::P_HIGHEST);
html_body
目的- 以 HTML 格式设置消息正文
参数-
$html - HTML 中的消息正文;
generate_alt - 是否生成替代消息;
auto_attach - 是否嵌入图像
返回- 返回当前实例
例如,
$email = \Email::forge(); // Do generate the alt body, but don't auto attach images. $email->html_body(\View::forge('welcome/email', $data), true, false);
从
目的- 设置发件人地址
参数-
$from - 来自电子邮件地址;
$name - 发件人姓名
返回- 返回当前实例
例如,
$email = \Email::forge(); $email->from('test@test.com', 'My Name');
主题
目的- 设置消息的主题
参数- $subject - 电子邮件的主题
返回- 返回当前实例
例如,
$email = \Email::forge(); $email->subject('Suject of the mail message');
到
目的- 设置收件人电子邮件地址
参数-
$email - 电子邮件地址或电子邮件地址数组;
$name - 接收者名称
返回- 返回当前实例
例如,
$email = \Email::forge(); $email->to('test@test.com', 'My Dear Name'); $email->to (array( 'test@test.com', 'test@test.com' => 'My Dear friend', ));
标头
目的- 为电子邮件设置自定义标题
参数-
$header - 标头类型或标头数组;
$value - 标头的值
返回- 返回当前实例
例如,
$email = \Email::forge(); $email->header('X-SMTPAP', 'XXXXXXXX'); $email>reply_to (array( 'X-SMTPAP' => 'XXXXXX', 'X-SMTPAP2' > 'XXXXXA', ));
附
目的- 将文件附加到电子邮件中
参数-
$file - 文件路径;
$inline - 是否内联附加文件;
$cid - 内容标识符;
$mime - 附件文件的 MIME 类型;
$name - 附件文件名覆盖
返回- 返回当前实例
例如,
$email = \Email::forge(); $email>attach(DOCROOT.'attachments/sample_attachment.pdf');
发送
目的- 发送邮件。
参数-
$validate - 是否验证电子邮件地址
返回- true 或 false
例如,
$email = \Email::forge(); try{ $email->send(); } catch(\EmailSendingFailedException $e) { // The driver could not send the mail. } catch(\EmailValidationFailedException $e) { // One or more email addresses failed validation. }
工作电子邮件样本
让我们使用上一章中学到的 API 并创建一个简单的代码来发送消息。以下是发送消息的最简单代码。
$email = Email::forge(); $email->from('someone@gmail.com', 'person1'); $email->to('anotherone@gmail.com', 'person2'); $email->subject('Add something'); $email->body('contents of mail'); $email->send();