我正面临与Amazon SES服务的附件错误。正常pdf
或jpg
个文件已正确附加。但是,当我附加一个.ics
文件,这是一个日历文件。我收到了这个错误。
554 Transaction failed: Illegal filename 'file_name.ics'
我在aws-ses
rails 3.2.2
gem
亚马逊有限制吗?我们如何请求他们允许这个mime类型到我们的帐户?
答案 0 :(得分:8)
实际问题是电子邮件的内容类型为multipart/mixed
,而保存ics
文件的部分具有强效类型text/plain
,根据Amazon MIME Types,{{ 1}}必须有扩展程序text/plain
。但在我的情况下,它有txt, diff, text
扩展名。
所以我必须从中更改代码。
.ics
到此。
attachments["file_name.ics"] = @model.to_ical
它解决了我的问题。
答案 1 :(得分:1)
虽然Amazon SES确实不接受每种MIME类型,但内容类型 text/calendar
和扩展程序 ics
已得到适当支持他们各自Appendix: MIME Types。
在没有查看其来源的情况下,我怀疑这最终是aws-ses gem的限制(SES支持的MIME类型列表随着时间的推移而增长)并建议您给出官方AWS SDK for Ruby (AWS Ruby Gem)代替了它,现在应该为所有已经支持的AWS服务提供更加一致和适当维护的开发/使用体验。
祝你好运!