1

ユーザー ドメインがあり、一度にすべてのユーザーにメールを送信したいと考えています。ただし、メールを個別に送信することはできますが、複数のメール送信を処理する方法がわかりません。私の emailService は次のようになります。

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
    }

gspでそれを使用して機能させる方法がわかりません。メールサービスに渡す必要がある変数または配列とその方法を知る必要があります。

4

3 に答える 3

1

グレッグはあなたが多くの余分な仕事をしていることは絶対に正しい. メールプラグインを使用するのが最善です。

しかし、それでもあなたのアプローチを使用したい場合は、

setTo()クラスのメソッドはMimeMessageHelper、次のように複数のメールアドレスを受け取ることができます

helper.setTo("mkb@test.com", "mb@test.com");

ドキュメントを読んでください。

于 2013-08-23T15:12:20.267 に答える
1

うわー、それは多くの余分な作業のように見えます。メール プラグインを使用します。 ドキュメントは、複数の受信者に送信する方法を示しています。

sendMail {
    to "someoneorg.com", "someone.elseorg.com"
    …
}
于 2013-08-23T00:59:21.257 に答える