# grails_email **Repository Path**: GntLee/grails_email ## Basic Information - **Project Name**: grails_email - **Description**: grails集成邮件发送功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-11-15 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #Grails3开发邮件发送小demo 新建项目,在build.gradle中引入email依赖: compile 'org.grails.plugins:mail:2.0.0.RC6' 在grails-app/conf/application.yml最后面加入邮件配置: --- grails: mail: host: 'smtp.qq.com' #主机 port: 465 #端口 username: '2268999743@qq.com' #你的邮箱名称 password: 'ghbrdwnopyxheage' #邮箱授权码,注意:此处并非登录密码,而是开通邮件发送功能的授权码 defaultEncoding: UTF-8 props: mail.smtp.port: 465 mail.smtp.auth: true mail.smtp.starttls.enable: true mail.smtp.socketFactory.port: 465 mail.smtp.socketFactory.class: 'javax.net.ssl.SSLSocketFactory' mail.smtp.socketFactory.fallback: true default: from: '2268999743@qq.com' #默认发件人 注意:格式必须按照如上对其。 接下来创建邮件发送控制器: package com.mail import grails.converters.JSON class MailController { //注入邮件服务 def mailService def index() { } /** * 发送带html的邮件 * 带昵称 * to 收件人,字符串,多个收件人有英文逗号隔开 */ def sendHtml() { def info = [:] //收件人 String recipients = params.recipients //昵称 String nickname = params.nickname try { mailService.sendMail { //application.yml中配置的发件人 from "${nickname}<${grailsApplication.config.grails.mail.username}>" to "${nickname}<${recipients}>" //"<昵称>邮箱" subject '邮件标题' // body(view:'template',model:[message:'测试邮件,收到此邮件不用回复!']) html(view:'template',model:[message:'测试邮件,收到此邮件不用回复!']) //html "百度" } info = [result:true, msg: "邮件发送成功!"] } catch (e) { log.error("邮件发送失败,errorMsg={}",e) info = [result:false, msg: "邮件发送失败!"] } render info as JSON } /** * 发送带附件的邮件 * 带昵称 * 方法中必须传text、body、html任意一个才能携带附件 */ def sendAttach() { def info = [:] //收件人 String recipients = params.recipients //昵称 String nickname = params.nickname try { mailService.sendMail { //多附件 multipart true //application.yml中配置的发件人 from "${nickname}<${grailsApplication.config.grails.mail.username}>" //"<昵称>邮箱" to "${nickname}<${recipients}>" subject '邮件标题' attach (new File("E:\\water.png")) text "测试邮件" } info = [result:true, msg: "邮件发送成功!"] } catch (e) { log.error("邮件发送失败,errorMsg={}",e) info = [result:false, msg: "邮件发送失败!"] } render info as JSON } } gsp页面,页面我这里用的layui前端框架,需要用的自行到layui官网下载: <%@ page contentType="text/html;charset=UTF-8" %> 邮件测试

邮件测试

template页面: tips.