2017-04-04 157 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