2012-04-06 47 views
4

我正面临Amazon SES服务的附件错误。正常pdfjpg文件已正确连接。但是当我附上一个.ics文件这是一个日历文件。我有这个错误。ICS文件的Amazon SES附件错误

554 Transaction failed: Illegal filename 'file_name.ics' 

我使用aws-ses宝石与rails 3.2.2

是否有来自亚马逊的任何限制?我们如何请求他们允许我们的账户使用这种MIME类型?

回答

8

实际的问题是,电子邮件包含内容类型multipart/mixed和保持ics文件一部分具有教改尝试类型text/plain,根据Amazon MIME Typestext/plain必须扩展txt, diff, text。但在我的情况下,它的扩展名是.ics

所以我必须从这改变代码。

attachments["file_name.ics"] = @model.to_ical 

这个。

attachments["file_name.ics"] = {:mime_type => 'text/calendar', 
              :content => @model.to_ical} 

它解决了我的问题。

1

虽然Amazon SES不确实接受每一个MIME类型,内容类型text/calendar扩展ics适当支持按各自Appendix: MIME Types

不看他们的来源,我怀疑这是aws-ses宝石的限制最终(由SES支持的MIME类型的列表在持续增长),并建议你给官方AWS SDK for Ruby(AWS红宝石宝石)一杆相反,它现在应该为所有已经支持的AWS服务提供更一致和适当维护的开发/使用体验。

祝你好运!

+0

真的非常感谢这个关于'AWS SDK'的伟大提示。但在我的情况下,问题是不同的。我解决了它,在答案中发布了解决方案。 – 2012-04-07 21:45:29