如何在rails中创建ICS并将其作为邮件附件发送?
如何在rails中创建ICS并将其作为邮件附件发送?
How to create ICS in rails and send it as a attchment in a mail?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何在rails中创建ICS并将其作为邮件附件发送?
How to create ICS in rails and send it as a attchment in a mail?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
这可以使用 ri_cal gem 来完成:
为了创建您想要创建事件的事件 ics 文件:
然后对事件使用
.export(stream)
(这会将事件插入到仅包含此事件的包装日历中,因此您不必自己包装它)。可以将流设置为可以按照 Andy 建议的方式附加的文件,或者您可以在不使用流参数的情况下调用此方法,该方法将返回一个可以按原样放入附件中的字符串。那看起来像这样:
This can be done using the ri_cal gem:
In order to create an event ics file you want to create the event:
Then you use
.export(stream)
on the event (this will insert the event to a wrapper calendar that contains only this event, so you don't have to wrap it yourself).The stream can be set to a file that can be attached the way Andy suggested or you can call this method without a stream argument which will return a string that can be put into the attachment as is. That will look something like this:
使用 icalendar
将此 gem 添加到您的
Gemfile
您必须在内部配置邮件 gem < code>config/enviroment.rb 例如,RoR >= 4.2
用户模型
has_may :calendar_events
字段
CalendarEvent model
belongs_to :user
Fields
app/mailers/mail_notifier.rb
现在您可以从以下位置调用 MailNotifier具有以下代码的控制器
With icalendar
Add this gem to your
Gemfile
You must config mail gem inside
config/enviroment.rb
for example for RoR >= 4.2User model
has_may :calendar_events
Fields
CalendarEvent model
belongs_to :user
Fields
app/mailers/mail_notifier.rb
Now you can call MailNotifier from controller with the following code
使用
ActionMailer
(API 文档),只需生成文件并将其添加到附件
:您可以在不实际将文件保存到文件系统的情况下执行此操作,但我将把这个练习留给您。
Using
ActionMailer
(API documentation), simply generate the file and add it toattachments
:You can do this without actually saving a file to the file system, but I'll leave this exercise up to you.