一般动作
登录
Wiki: BROPEN ▼: Document Index
»
Space: FAQ ▼: Document Index
»
Page: 如何发送带有附件的邮件
搜索
zh
页面动作
导出 ▼: 以PDF格式导出 以RTF格式导出 以HTML格式导出
更多动作 ▼: 打印预览 察看源码
欢迎进入Wiki » FAQ » 如何发送带有附件的邮件?

# 如何发送带有附件的邮件?

在2015-08-08 10:16上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

供稿人：王劲松

Toolkit、FWK 中分别集成了 mail、asynchronous-mail 插件，用来实现邮件发送功能，且后者依赖前者，可将邮件保存在数据库中实现定期发送、失败重试、发送审计等功能。

通过他们发送带有附件的邮件，代码示例如下：

def asynchronousMailService
File att = new File("....../这是个附件.doc")
if ( !att.exists() ) return
asynchronousMailService.sendMail {
to "zhangsan@abc.com"
subject "邮件标题"
html "<h1>HTML格式的邮件正文</h1>...."
attachBytes att.getName(), FileUtils.fileMimeType(att.getName()), att.readBytes()
}

其中，attachBytes 就是添加邮件附件（实际会调用 AsynchronousMailMessageBuilder 中的 attachBytes(String name, String mimeType, byte[] content)，此处注意要应用 File 类型的对象来进行相应的操作，mimetype 可调用FileUtils.fileMimeType(file.getName()) 来获取）。

此外，邮件标题、正文可以通过消息模板来实现自定义与国际化（messageTemplateService.getMessage）。

更多参考：

https://grails.org/plugin/mail

https://grails.org/plugin/asynchronous-mail

标签： BroToolkit BroFramework
在2015-08-08 10:16上被李小翔创建

- 评论 （0）
- 附件 （0）
- 记录
- 信息

# 快速链接

- 首页
- 新闻动态
- FAQ

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号