大佬教程收集整理的这篇文章主要介绍了grails 发送邮件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
下面是大佬教程code.js-code.com 通过网络收集整理的代码片段。
大佬教程小编现在@L_262_1@给大家,也给大家做个参考。
首先在buildConfig中的plugins { compile ":mail:1.0.1" } 然后再config中配置 grails.mail.default.from = "Xxxx [email protected]>" grails { mail { host = "smtp.gmail.com" username = "[email protected]" password = "xxxx" port=587 props = ["mail.smtp.auth":"true","mail.smtp.socketFactory.port":"465","mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory","mail.smtp.socketFactory.fallBACk":"false"] } } 在resources中加入如下 代码: beans = { taskExecutor(org.springframework.@R_450_10906@duling.concurrent.ThreadPoolTaskExecutor) { corePoolSize = 10 maxPoolSize = 30 queueCapacity = 6 keepAliveSeconds = 2000 } mail(SendEmailAsynchronously) { taskExecutor = ref('taskExecutor') } } 再建一个 工具类代码如下: import org.codehaus.groovy.grails.commons.ApplicationHolder import org.springframework.core.task.TaskExecutor; class SendEmailAsynchronously { static transactional = true private static TaskExecutor taskExecutor def ctx = ApplicationHolder.getApplication().getMainContext(); def mailservice = ctx.getBean("mailservice"); def messagesource = ctx.messagesource def fromEmail def toEmail def mailObject def emailBody def attach public SendEmailAsynchronously() { } public SendEmailAsynchronously(def toEmail,def mailObject,def emailBody) { this.fromEmail = 'xxx<[email protected]>' this.toEmail = toEmail this.mailObject = mailObject this.emailBody = generateContent(emailBody) } public SendEmailAsynchronously(def toEmail,def emailBody,def attach) { this.fromEmail = 'xxx [email protected]' this.toEmail = toEmail this.mailObject = mailObject this.emailBody = generateContent(emailBody) this.attach = attach } public void sendMail() { taskExecutor.execute( new Runnable(){ @Override public void run() { try { println "start send mail" mailservice.sendMail { from fromEmail to toEmail subject mailObject html emailBody } println "end send mail" }catch(Exception E){ println e try{ User.findByEmail(toEmail).delete() }catch (Exception uE){ print "User=="+ue } } } }) } public void setTaskExecutor(TaskExecutor taskExecutor) { this.taskExecutor = taskExecutor } private String generateContent(bodyContent) { if(bodyContent instanceof String) { return bodyContent }else if(bodyContent instanceof ClosurE) { //bodyContent is a closure def sw = new StringWriter() def mkp = new groovy.xml.MarkupBuilder(new PrintWriter(sw)) mkp.html { body(bodyContent) } return sw.toString() } } }
以上是大佬教程为你收集整理的grails 发送邮件全部内容,希望文章能够帮你解决grails 发送邮件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。