4

我在使用 Amazon SES 服务时遇到附件错误。正常pdfjpg文件正确附加。但是当我附加.ics一个日历文件时。我得到了这个错误。

554 Transaction failed: Illegal filename 'file_name.ics'

我正在使用aws-ses宝石rails 3.2.2

亚马逊有什么限制吗?我们如何要求他们允许这种 mime 类型进入我们的帐户?

4

2 回答 2

8

实际问题是电子邮件具有内容类型multipart/mixed,而包含ics文件的部分具有内容类型text/plain,根据Amazon MIME 类型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}

它解决了我的问题。

于 2012-04-07T21:50:51.210 回答
1

虽然Amazon SES确实不接受所有 MIME 类型,但根据其各自的附录:MIME 类型正确支持内容类型 text/calendar扩展ics

在不查看其来源的情况下,我怀疑这最终是aws-ses gem 的限制(SES 支持的 MIME 类型列表随着时间的推移而增加)并建议您提供官方AWS SDK for Ruby (AWS Ruby Gem)取而代之的是,它现在应该为所有已经支持的 AWS 服务提供更一致和适当维护的开发/使用体验。

祝你好运!

于 2012-04-07T12:23:35.630 回答