## Tp Mailer
**一款支持所有PHP框架的优美的邮件发送类**,ThinkPHP系列框架开箱即用,其他框架初始化配置即可使用
基于 SwiftMailer 二次开发, 为 ThinkPHP系列框架量身定制, 使 ThinkPHP 支持邮件模板、纯文本、附件邮件发送以及更多邮件功能, 邮件发送简单到只需一行代码
同时了方便其他框架或者非框架使用, Tp Mailer也非常容易拓展融合到其他框架中, 欢迎大家 `Fork` 和 `Star`, 提交代码让Tp Mailer支持更多框架
## 目录
* [优雅的发送邮件](#优雅的发送邮件)
* [安装](#安装)
* [使用 Composer 安装 (强烈推荐)](#使用-composer-安装-强烈推荐)
* [github下载 或 直接手动下载源码](#github下载-或-直接手动下载源码)
* [下载文件](#下载文件)
* [移动文件夹](#移动文件夹)
* [引入自动载入文件](#引入自动载入文件)
* [配置](#配置)
* [部分配置详解](#部分配置详解)
* [使用](#使用)
* [使用Tp Mailer](#使用tp-mailer)
* [创建实例](#创建实例)
* [设置收件人](#设置收件人)
* [设置发件人](#设置发件人)
* [设置邮件主题](#设置邮件主题)
* [设置邮件内容 - HTML](#设置邮件内容---html)
* [设置邮件内容 - 纯文本](#设置邮件内容---纯文本)
* [设置邮件内容 - 模板](#设置邮件内容---模板)
* [将图片作为元数据嵌入到邮件中](#将图片作为元数据嵌入到邮件中)
* [配置嵌入标签](#配置嵌入标签)
* [模板或HTML中设置变量](#模板或html中设置变量)
* [传递变量参数和值](#传递变量参数和值)
* [示例](#示例)
* [添加附件](#添加附件)
* [设置消息加密/签名](#设置消息加密签名)
* [设置字符编码](#设置字符编码)
* [设置邮件最大长度](#设置邮件最大长度)
* [设置邮件优先级](#设置邮件优先级)
* [Requesting a Read Receipt](#requesting-a-read-receipt)
* [注册插件](#注册插件)
* [发送邮件](#发送邮件)
* [动态配置](#动态配置)
* [方法注入](#方法注入)
* [其他框架扩展](#其他框架扩展)
* [第一步: 初始化配置项](#第一步-初始化配置项)
* [第二步: 实现 `$mailer->view()` 方法](#第二步-实现-mailer-view-方法)
* [完整示例](#完整示例)
* [中文文件名乱码问题](#中文文件名乱码问题)
* [Issues](#issues)
* [License](#license)
## 优雅的发送邮件
**ThinkPHP5 示例**
```
use mailer\tp5\Mailer;
$mailer = Mailer::instance();
$mailer->from('tianpian0805@gmail.com', 'yuan1994')
->to('your-mail@domain.com')
->subject('纯文本测试')
->text('欢迎您使用Tp Mailer')
->send();
```
你也可以这样: **ThinkPHP3.2.3 示例**
```
require_once '/path/to/tp-mailer/src/autoload.php';
use mailer\tp32\Mailer;
$mailer = Mailer::instance();
$mailer->from('tianpian0805@gmail.com', 'yuan1994')
->to('your-mail@domain.com')
->subject('多行文本测试')
->line('PHPer们: ')
->line('欢迎你们使用Tp Mailer, 如果使用感觉很方面请给个Star, 也欢迎大家Fork帮忙完善')
->line()
->line('yuan1994 <tianpian0805@gmail.com ' . date('Y-m-d'))
->attach('/path/to/文件名.pdf', '自定义文件名.pdf')
->send();
```
你还可以这样: **ThinkPHP3.1.3 示例**
```
require_once '/path/to/tp-mailer/src/autoload.php';
use mailer\tp31\Mailer;
$mailer = Mailer::instance();
$mailer->send(function($mailer, $message) {
$mailer->to('tianpian0805@gmail.com')
->subject('使用框架模板引擎渲染模板测试')
->view('mail:test', array(
'param1' => '参数1',
'param2' => '参数2',
'param3' => '参数3'
));
});
```
## 安装
### 使用 Composer 安装 (强烈推荐):
支持 `psr-4` 规范, 开箱即用
```
composer require yuan1994/tp-mailer
```
### github下载 或 直接手动下载源码:
需手动引入自动载入文件
#### 下载文件:
git clone https://github.com/yuan1994/tp-mailer tp-mailer
git clone https://github.com/swiftmailer/swiftmailer swiftmailer
或者点击直接下载:
[https://github.com/yuan1994/tp-mailer/archive/master.zip](https://github.com/yuan1994/tp-mailer/archive/master.zip)
[https://github.com/swiftmailer/swiftmailer/archive/5.x.zip](https://github.com/swiftmailer/swiftmailer/archive/5.x.zip)
#### 移动文件夹:
然后将两个项目分别手动命名为 `tp-mailer` 和 `swiftmailer`, 放在自己项目的扩展类库文件夹里, 这两个文件夹必须在同一目录, 目录结构大概如下所示:
```
扩展目录
├── tp-mailer
│ └── src
├── swiftmailer
│ ├── lib
│ ├── doc
│ └── tests
```
#### 引入自动载入文件:
使用时引入或者全局自动引入
`require_once '/path/to/tp-mailer/src/autoload.php`;
## 配置
在配置文件里配置如下信息, 可以配置在 `mail.php` 或 `config.php` 文件中, 但要保证能通过 `mail.driver`, `mail.host` 访问到配置信息, 内容如下:
```
return [
'driver' => 'smtp', // 邮件驱动, 支持 smtp|sendmail|mail 三种驱动
'host' => 'smtp.qq.com', // SMTP服务器地址
'port' => 465, // SMTP服务器端口号,一般为25
'addr' => '', // 发件邮箱地址
'pass' => '', // 发件邮箱密码
'name' => '', // 发件邮箱名称
'content_type' => 'text/html', // 默认文本内容 text/html|text/plain
'charset' => 'utf-8', // 默认字符集
'security' => 'ssl', // 加密方式 null|ssl|tls, QQ邮箱必须使用ssl
'sendmail' => '/usr/sbin/sendmail -bs', // 不适用 sendmail 驱动不需要配置
'debug' => true, // 开启debug模式会直接抛出异常, 记录邮件发送日志
'left_delimiter' => '{', // 模板变量替换左定界符, 可选, 默认为 {
'right_delimiter' => '}', // 模板变量替换右定界符, 可选, 默认为 }
'log_driver' => '', // 日志驱动类, 可选, 如果启用必须实现静态 public static function write($content, $level = 'debug') 方法
'log_path' => '', // 日志路径, 可选, 不配置日志驱动时启用默认日志驱动, 默认路径是 /path/to/tp-mailer/log, 要保证该目录有可写权限, 最好配置自己的日志路径
'embed' => 'embed:', // 邮件中嵌入图片元数据标记
];
```
### 部分配置详解
#### driver
可选值可以是字符串、数组、对象。如果是字符串,只能是 `smtp|sendmail|mail`,即内置的三种邮件驱动;如果是数组,必须是可以实例调用的方法,例如 `['mailer\\lib\\Transport', 'createSmtpDriver']` ,即是调用的 `(new mailer\lib\Transport)->createSmtpDriver()` 方法,如果是对象,就是返回的一个 `Swift_Transport` 对象,详情请查看 SwiftMailer 官网
#### log_left_delimiter & right_delimiter
该值为内置模板变量 (调用`text()`,`raw()`,`line()`,`html()`方式时传递的变量) 定界值,例如默认定界值时 `{name}`, 如果变量为 `['name' => 'tp-mailer']`,那么 `{name}` 会被替换为 `tp-mailer`,加入模板中变量占位符是 `{$name}`,那么此时可以修改左定界符为 `{$`,此时 `{$name}` 也能被正常替换为 `tp-mailer`
#### log_driver
日志驱动,如果不配置则为类库自带简单的日志驱动 `mailer\lib\log\File`,可自定义配置为框架的日志驱动,例如 `'log_driver' => '\\think\\Log'`,日志驱动类必须实现静态方法 `write`,例如:
```
public static function write($content, $level = 'debug')
{
echo '日志内容:' . $content;
echo '日志级别:' . $level;
}
```
#### log_path
日志驱动为默认是日�
没有合适的资源?快使用搜索试试~ 我知道了~
tp5+后台(自带权限管理系统)源代码
共2000个文件
php:1405个
html:942个
gif:512个
4星 · 超过85%的资源 需积分: 49 172 下载量 160 浏览量
2018-12-10
14:27:06
上传
评论 3
收藏 32.37MB ZIP 举报
温馨提示
tp5+后台管理系统(权限管理系统已经实现),利用tp框架,这个非常好用,小编一直在用
资源推荐
资源详情
资源评论
收起资源包目录
tp5+后台(自带权限管理系统)源代码 (2000个子文件)
tiger.ai 115KB
pelican.ai 7KB
AUTHORS 5KB
AUTHORS 730B
test.bmp 0B
BUGS 95B
ChangeLog 141KB
CHANGES 8KB
fancyzoom.coffee 3KB
fancyzoom.coffee 3KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
config 1KB
COPYING 34KB
CREDITS 20KB
tcpdf.crt 2KB
ca.crt 1KB
sign2.crt 1KB
encrypt2.crt 1KB
sign.crt 1KB
encrypt.crt 1KB
intermediate.crt 1KB
H-ui.css 154KB
bootstrap.css 118KB
bootstrap.css 118KB
H-ui.min.css 111KB
bootstrap.min.css 98KB
bootstrap.min.css 98KB
easyui.css 67KB
easyui.css 67KB
easyui.css 67KB
easyui.css 66KB
easyui.css 64KB
easyui.css 63KB
layui.css 59KB
layui.css 59KB
layui.css 59KB
ueditor.css 43KB
ueditor.min.css 34KB
jquery-ui.min.css 26KB
jquery-ui.min.css 26KB
font-awesome.css 25KB
font-awesome.css 25KB
theme.css 21KB
theme.css 21KB
video-js.css 21KB
bootstrap-editable.css 21KB
font-awesome.min.css 20KB
font-awesome.min.css 20KB
image.css 18KB
style.css 18KB
iconfont.css 16KB
bootstrap-theme.css 15KB
bootstrap-theme.css 15KB
video.css 15KB
layer.css 14KB
layer.css 14KB
layer.css 14KB
attachment.css 14KB
layer.css 14KB
layer.css 14KB
common.css 13KB
bootstrap-theme.min.css 13KB
bootstrap-theme.min.css 13KB
icheck.css 12KB
webuploader.css 11KB
premium.css 11KB
premium.css 11KB
video-js.min.css 11KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
一杯雪花勇闯天涯
- 粉丝: 185
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页