ICS文件的Amazon SES附件错误
问题描述:
我正面临Amazon SES服务的附件错误。正常pdf
或jpg
文件已正确连接。但是当我附上一个.ics
文件这是一个日历文件。我有这个错误。ICS文件的Amazon SES附件错误
554 Transaction failed: Illegal filename 'file_name.ics'
我使用aws-ses
宝石与rails 3.2.2
是否有来自亚马逊的任何限制?我们如何请求他们允许我们的账户使用这种MIME类型?
答
实际的问题是,电子邮件包含内容类型multipart/mixed
和保持ics
文件一部分具有教改尝试类型text/plain
,根据Amazon MIME Types,text/plain
必须扩展txt, diff, text
。但在我的情况下,它的扩展名是.ics
。
所以我必须从这改变代码。
attachments["file_name.ics"] = @model.to_ical
这个。
attachments["file_name.ics"] = {:mime_type => 'text/calendar',
:content => @model.to_ical}
它解决了我的问题。
答
虽然Amazon SES不确实接受每一个MIME类型,内容类型text/calendar
和扩展ics
适当支持按各自Appendix: MIME Types。
不看他们的来源,我怀疑这是aws-ses宝石的限制最终(由SES支持的MIME类型的列表在持续增长),并建议你给官方AWS SDK for Ruby(AWS红宝石宝石)一杆相反,它现在应该为所有已经支持的AWS服务提供更一致和适当维护的开发/使用体验。
祝你好运!
真的非常感谢这个关于'AWS SDK'的伟大提示。但在我的情况下,问题是不同的。我解决了它,在答案中发布了解决方案。 – 2012-04-07 21:45:29