我在发送带有文字附件的电子邮件时遇到问题(没有附件,一切都很好)。我正在使用actionmailer 3.2.11并尝试通过Amazon SES发送电子邮件。对我来说,亚马逊snmp服务器看起来像我生成的电子邮件有问题。生成电子邮件的代码如下所示:
class ServiceMailer < ActionMailer::Base
default from: "noreply@dungeonpilot.com"
def server_crashed log_file_names
attachments[ 'foo.txt' ] = 'Hallo'
mail to: 'Txxx@xxzki.de', subject: '[dungeonpilot] Server Crashed'
end
end
发送邮件时出现错误消息:Net::SMTPFatalError: 554 Transaction failed: Missing start boundary
。
生成的邮件是:
Date: Fri, 08 Feb 2013 10:11:09 +0000
From: noreply@dungeonpilot.com
To: Txxx@xxxzki.de
Message-ID: <5114cf3dc4886_701165e7f848869@ip-10-62-103-46.mail>
Subject: [dungeonpilot] Server Crashed
Mime-Version: 1.0
Content-Type: multipart/mixed;
charset=UTF-8
Content-Transfer-Encoding: 7bit
--
Date: Fri, 08 Feb 2013 10:11:09 +0000
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=foo.txt
filename: foo.txt
Content-ID: <5114cf3d55085_701165e7f8487cc@ip-10-62-103-46.mail>
Hallo
----
将此作为测试邮件发送给SES,也会导致“缺少起始边界”。所以我认为交付的内容一定有问题。
在views文件夹中,只有一个.txt.erb模板。我添加了一个.html.erb模板,现在有一个boundary="
- 标题和邮件部分之间的边界:
Date: Fri, 08 Feb 2013 10:26:57 +0000
From: noreply@dungeonpilot.com
To: Torsten@Robitzki.de
Message-ID: <5114d2f1b8175_702812508041181@ip-10-62-103-46.mail>
Subject: [dungeonpilot] Server Crashed
Mime-Version: 1.0
Content-Type: multipart/mixed;
boundary="--==_mimepart_5114d2f18f621_7028125080411632";
charset=UTF-8
Content-Transfer-Encoding: 7bit
----==_mimepart_5114d2f18f621_7028125080411632
Date: Fri, 08 Feb 2013 10:26:57 +0000
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=foo.txt
filename: foo.txt
Content-ID: <5114d2f0ee34b_7028125080411545@ip-10-62-103-46.mail>
Hallo
----==_mimepart_5114d2f18f621_7028125080411632
Date: Fri, 08 Feb 2013 10:26:57 +0000
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <5114d2f19ce45_7028125080411785@ip-10-62-103-46.mail>
----==_mimepart_5114d2f18f621_7028125080411632--
看起来像ActionMailer中的错误?
答案 0 :(得分:0)
我的错,我用txt扩展名命名了模板,而不是文本扩展名。
在这种情况下,动作邮件的下一个版本将引发异常。
答案 1 :(得分:0)
我遇到了类似的问题。对我来说,附件得到了正确的附加。为我设计的解决方案是创建一个视图(server_crashed.html.erb)。 在此之后,当我运行rake任务时,它工作正常,我能够发送邮件。
答案 2 :(得分:0)
我遇到了同样的问题,就我而言,我在电子邮件正文中添加了一个空的多部分。
答案 3 :(得分:0)
当电子邮件文本正文和电子邮件HTML正文为空时,出现此错误。 因此,其中之一在使用电子邮件发送电子邮件时必须具有价值 Amazon Simple Email SendRawEmailAsync方法