Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3.1 ICS文件的Amazon SES附件错误_Ruby On Rails 3.1_Amazon Web Services_Amazon Ses - Fatal编程技术网

Ruby on rails 3.1 ICS文件的Amazon SES附件错误

Ruby on rails 3.1 ICS文件的Amazon SES附件错误,ruby-on-rails-3.1,amazon-web-services,amazon-ses,Ruby On Rails 3.1,Amazon Web Services,Amazon Ses,我面临亚马逊SES服务的附件错误。正常的pdf或jpg文件已正确附加。但是当我附加一个.ics文件时,它是一个日历文件。我犯了这个错误 554 Transaction failed: Illegal filename 'file_name.ics' 我正在使用aws sesgem和rails 3.2.2 亚马逊有什么限制吗?我们如何才能要求他们允许我们的帐户使用这种mime类型?虽然并不接受每种mime类型,但内容类型text/calendar和扩展ics根据其各自的特点得到了适当的支持 不看

我面临亚马逊SES服务的附件错误。正常的
pdf
jpg
文件已正确附加。但是当我附加一个
.ics
文件时,它是一个日历文件。我犯了这个错误

554 Transaction failed: Illegal filename 'file_name.ics'
我正在使用
aws ses
gem和
rails 3.2.2

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

虽然并不接受每种mime类型,但内容类型
text/calendar
和扩展
ics
根据其各自的特点得到了适当的支持

不看它们的来源,我怀疑这最终会成为gem的一个限制(SES支持的MIME类型列表随着时间的推移而增加),并建议您给官方(awsrubygem)一个机会,现在,它应该为所有已经支持的AWS服务提供更加一致和适当维护的开发/使用体验


祝你好运

实际问题是电子邮件的内容类型为
multipart/mixed
,保存
ics
文件的部分的内容类型为
text/plain
,根据规定,
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}

它解决了我的问题

非常感谢您提供有关
AWS SDK
的精彩提示。但就我而言,问题就不同了。我解决了它,在答案中张贴了解决方案。