2017-04-04 11 views
0

난 레일에 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 - https://www.addevent.com/api/direct-url-method의 "직접 URL 방법"과 같은 솔루션을 사용하는 것이 좋습니다. (나는 AddEvent btw 뒤에있다.)

이메일에 이벤트를 첨부하는 대부분의 사용자는 혼합을 사용합니다. 그들은 Mail API를 사용하여 이벤트를 첨부하고 이메일에 "캘린더에 추가"링크를 포함시킵니다. 둘 다 "직접 URL 방법"을 사용하여 수행 할 수 있습니다.

enter image description here

+0

안녕하십니까? 사실 앞서 가서 아이디어를 따르기 위해 제 방법을 변경했습니다. S3에서 S3로 향하는 아이콘을 클릭하면 내 'ics' 파일을 S3로 보내고 사람들은 지금 그것을 다운로드 할 수 있습니다. 내 해결책이 당신의 대답과 비슷하기 때문에 나는 당신의 답을 정확하게 표시하고 있습니다. 방금 addEvent를 사용하기보다는 그것을 만들었습니다 – anonn023432

+0

저의 기쁨! 방법에 관한 모든 것 - 훌륭한 해결 방법으로 해결됩니다! –

+0

안녕하세요. @ anonn023432, 내가 언급 한 똑같은 문제가 있습니다. '캘린더에 추가'링크를 추가하는 다른 해결책을 찾았습니까? S3에서 파일을 다운로드하는 대신 이벤트가 자동으로 캘린더 (Google, Outlook 등)에 추가됩니다. 감사합니다. – Zvi