Download the PHP package yzh52521/think-mail without Composer
On this page you can find all versions of the php package yzh52521/think-mail. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package think-mail
一款支持所有PHP框架的优美的邮件发送类,ThinkPHP框架开箱即用
基于 symfony mailer 二次开发, 为 ThinkPHP系列框架量身定制, 使 ThinkPHP 支持邮件模板、纯文本、附件邮件发送以及更多邮件功能, 邮件发送简单到只需一行代码
安装
配置
在配置文件里配置如下信息, 可以配置在 mail.php
或 config.php
文件中, 但要保证能通过 mail.host
访问到配置信息,
内容如下:
embed
图片内联嵌入标识,请参考 将图片作为元数据嵌入到邮件中
使用
使用use时, ThinkPHP6 的Mailer类的命名空间是
mailer/Mailer
使用think-mailer
创建实例
不传递任何参数表示邮件驱动使用配置文件里默认的配置
门面 facade 调用 (推荐)
设置收件人
以下几种方式任选一种
设置发件人
发件人邮箱地址必须和配置项里username一致
设置抄送
以下几种方式任选一种
设置暗抄送
以下几种方式任选一种
设置回复邮件地址
设置邮件主题
设置邮件内容 - HTML
或者使用变量替换HTML内容
设置邮件内容 - 纯文本
或者使用变量替换纯文本内容
设置邮件内容 - 模板
ThinkPHP系列模板, 具体请看ThinkPHP各版本框架的模板怎么用, 第二个参数是要进行模板赋值的数组
将图片作为元数据嵌入到邮件中
邮件内容中包含图片的, 可以直接指定 img
标签的 src
属性为远程图片地址, 此处图片地址必须为远程图片地址,
必须为一个带域名的完整图片链接, 这似乎很麻烦, 所以你还可以将图片作为元数据嵌入到邮件中, 至于其他文件是否也可以嵌入请自己尝试
下面介绍一下 think-mail
如何快速简便的将图片元数据嵌入到邮件中:
配置嵌入标签
嵌入元数据需要在模板赋值或者使用 html()
传递变量时, 给变量添加特殊的标签, 该嵌入标签默认为 cid:
,
你可以修改配置文件中 embed
项, 修改为你想要的形式
模板或HTML中设置变量
在模板中, 例如 ThinkPHP 全系列都是使用 {$var}
的形式传递变量, 假设变量为 image_src
, 那么模板中填写 {$image_src}
,
如果是在HTML中, 请使用 {image_src}
, 注意如果修改过左、右定界符请使用自己定义的左右定界符
传递变量参数和值
在 html()
和 view()
方法的第二个参数里, 该数组必须有一个变量, 格式为 ['cid:image_src'] => '/path/to/image.jpg']
或者 ['cid:image_src'] => ['file_stream', 'filename','filemime']]
, 即参数数组的键名是上面配置的 嵌入标签 + 变量名
,
但值有两种情况:
第一, 如果值为字符串, 则该值为图片的路径 (绝对路径或相对路径) 或者 有效的url地址;
第二, 如果值为数组, 数组为 ['stream','name','mime',]
的形式, 其中 stream
表示图片的数据流, 即是未保存的文件数据流,
例如 fopen()
方法获取的文件数据流, 第二个参数为文件名, 默认为 image
,第三个参数可选, 为文件的mime类型,
默认为 image/jpeg
示例
其中模板的内容如下:
在 HTML 中使用一样:
添加附件
或者指定附件的文件名
设置消息加密/签名
设置字符编码
设置邮件优先级
发送邮件
如果执行过邮件发送过邮件发送之后, 需要重新初始化
邮件发送失败会直接以异常抛出, 或者可以通过 getError() 获取错误信息
使用 getHeaders()
和 getHeadersString()
方法可以获取头信息
getHeaders()
返回的是头信息数组, getHeadersString()
返回的是头信息字符串
Issues
如果有遇到问题请提交 issues
License
Apache 2.0
支持我
您的认可是我继续前行的动力,如果您觉得think-mail对您有帮助,请支持我,谢谢您!
- 方式一: 点击右上角
⭐Star
按钮 - 方式二: 扫描下方二维码,打赏我