2017-04-04 87 views
0

我在Rails中使用ActionMailer创建了confirmation email。我创建的电子邮件方法如下:在erb电子邮件中添加链接到“添加到日历”ics文件

def session_confirmation_email_client(user, coach, date, session_ics, session_outlook, google_cal) 
    @google_cal = google_cal 
    @user = user 
    @date = format_time(date.getlocal) 
    @sender = "#{SENDER}" 
    mail.attachments["session.ics"] = { mime_type: 'text/calendar', content: session_ics } 
    mail(to: user.email, subject: 'Session Confirmation') 
end 

这适当添加session.ics附件的电子邮件,但现在我想包括Add To Calendar按钮,将下载的请点击附件。

为同一外观我的ERB模板如下,此刻:

<td align="right" valign="top"> 
    <%= link_to image_tag("https://s3.amazonaws.com/ical.svg"), LINK_TO_ATTACHMENT %> 
</td> 

我不知道什么链接添加在这里?这种方式是错误的吗?基本上我不确定如何为电子邮件附件添加下载链接

回答

1

当您在电子邮件中附加事件时,无法在调用附加事件的电子邮件内创建按钮。

当一个事件附加到电子邮件中时,大多数电子邮件客户端检测附加事件并提供一个“添加到日历”链接本身做得很好。

如果您还想在电子邮件中备份“添加到日历”链接,那么我会建议您使用AddEvent.com上的“直接URL方法” - https://www.addevent.com/api/direct-url-method。 (我支持AddEvent btw)。

我们大多数在电子邮件中附加活动的用户使用混合。他们使用他们的Mail API附加了一个事件,并在电子邮件中包含“添加到日历”链接。两者都可以使用“直接URL方法”来完成。

enter image description here

+0

嘿谢谢你的回答。我实际上继续前进,改变了我的方法来跟随你的想法。当我创建了'ics'文件时,我只需将它推到S3,现在可以通过点击指向S3的图标来下载它。我正在标记你的答案是正确的,因为我的解决方案与你的答案类似;我只是创建它而不是使用addEvent – anonn023432

+0

我的荣幸!这完全是关于方法 - 解决问题的好方法! –

+0

嗨。 @ anonn023432,我有你提到的同样的问题。 您是否找到另一个添加“添加到日历”链接的解决方案,并且该事件会自动添加到您的日历(谷歌,outlook等),而不是从S3下载文件? 谢谢! – Zvi

相关问题