如何向Grails中的列表或用户阵列(带有电子邮件)发送多封html电子邮件?
我有一个用户域,我想一次发送一封电子邮件给所有用户。 但是,我可以单独发送电子邮件,但不知道如何处理发送的多封电子邮件。 我的电子邮件服务如下所示:如何向Grails中的列表或用户阵列(带有电子邮件)发送多封html电子邮件?,grails,html-email,gsp,Grails,Html Email,Gsp,我有一个用户域,我想一次发送一封电子邮件给所有用户。 但是,我可以单独发送电子邮件,但不知道如何处理发送的多封电子邮件。 我的电子邮件服务如下所示: def mailSender def mailMessage // a "prototype" email instance ApplicationContext applicationContext /** * Send a list of emails. * * @param mails
def mailSender
def mailMessage // a "prototype" email instance
ApplicationContext applicationContext
/**
* Send a list of emails.
*
* @param mails a list of maps
*/
boolean sendEmails(mails) {
def retval = true
// Build the mail messages
def messages = []
for (mail in mails) {
// create a copy of the default message
MimeMessage mimeMessage = mailSender.createMimeMessage()
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "ISO-8859-1");
helper.setFrom(mail.from);
helper.setTo(getInternetAddresses(mail.to));
helper.setSubject(mail.subject);
helper.setText(mail.text, true);
if(mail.bcc)
helper.setBcc(getInternetAddresses(mail.bcc));
if(mail.cc)
helper.setCc(getInternetAddresses(mail.cc));
messages << mimeMessage
}
// Send them all together
try {
log.debug("mailsender")
mailSender.send(messages as MimeMessage[])
}
catch (MailException e) {
log.error "Failed to send emails: $e.message", e
retval = false
}
catch (MessagingException e) {
log.error "Failed to send emails: $e.message", e
retval = false
}
return retval
}
def邮件发送器
def mailMessage//一个“原型”电子邮件实例
应用上下文应用上下文
/**
*发送电子邮件列表。
*
*@param发送地图列表
*/
发送电子邮件(邮件){
def retval=true
//构建邮件消息
def消息=[]
用于(邮件中的邮件){
//创建默认消息的副本
mimessage MimeMessage=mailssender.createmimessage()
mimessagehelper=新的mimessagehelper(mimessage,true,“ISO-8859-1”);
helper.setFrom(mail.from);
setTo(getInternetAddresss(mail.to));
helper.setSubject(mail.subject);
setText(mail.text,true);
如果(mail.bcc)
setBcc(getInternetAddress(mail.bcc));
如果(mail.cc)
setCc(getInternetAddresss(mail.cc));
邮件哇,看起来需要做很多额外的工作。使用。演示如何发送给多个收件人
sendMail {
to "someoneorg.com", "someone.elseorg.com"
…
}
格雷格是绝对正确的,你正在做很多额外的工作。最好是使用插件
但如果你仍然想使用你的方法
setTo()
方法的MimeMessageHelper
类可以接收多个电子邮件地址,如
helper.setTo("mkb@test.com", "mb@test.com");
阅读。可以将字符串数组传递给helper.setTo方法
e、 g
我们需要一些机制,比如,当您运行应用程序时,框架应该检测并提示“节省一些能量,改用${thisPlugin}。保持Groovy!!”
;)
String[] address = {"test0@gmail.com", "test1@gmail.com", "test2@gmail.com"};
helper.setTo(address);