1

标准 Grails 邮件插件Mail-Plugin

用于创建 ICal 文件的 ICal 插件I-Cal-Plugin

我已经非常轻松地成功使用了邮件,附加文件等,但是,让 Ical 使用attachBytesfrommail plugin证明是困难的

sendMail {
            multipart true
            to test@test.com
            subject "whatever..."
            html g.render(template:"/emails/Attendees", model:[ instance: inst])
            inline "banner",  "image/jpeg", new File("./web-app/images/emailTemplates/email_banner.png")
            inline "footer",  "image/jpeg", new File("./web-app/images/emailTemplates/lEdvn.png")
         }

要附加您使用的文件attachBytes,我试图使用在示例render中找到的标准示例函数ical docs

   def ical = render(contentType: 'text/calendar', filename: '<optional filename>') {
                calendar {
                    events {
                        event(start: Date.parse('dd.MM.yyyy HH:mm', '31.10.2009 14:00'),
                                end: Date.parse('dd.MM.yyyy HH:mm', '31.10.2009 15:00'),
                                description: 'Events description',
                                summary: 'Short info1') {
                                    organizer(name: 'Silvio Wangler', email: 'a@b.com')
                                }
                          }
              }
  }

def ical技术上无关紧要的仍然呈现即在到达此代码块时立即下载。这个想法是保存并附加到电子邮件中,无需下载。

谢谢你的时间

4

1 回答 1

2

任何偶然发现这篇文章的人都是答案:

def builder = new ICalendarBuilder()

builder.calendar {
events {
    event(start: new Date(), end: (new Date()).next(), summary: 'Text') {
        organizer(name:'Silvio', email:'test@test.com')
        reminder(minutesBefore: 15, description: 'Alarm 123')
    }
  }
}

然后对于电子邮件sendMail功能添加:

attachBytes "appointment.ics", "text/calendar", builder.cal.toString().getBytes('UTF-8')
于 2013-03-13T00:19:09.640 回答