发送带文本附件的电子邮件时“缺少开始边界”

时间:2013-02-08 09:20:14

标签: actionmailer amazon-ses

我在发送带有文字附件的电子邮件时遇到问题(没有附件,一切都很好)。我正在使用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中的错误?

4 个答案:

答案 0 :(得分:0)

我的错,我用txt扩展名命名了模板,而不是文本扩展名。

在这种情况下,动作邮件的下一个版本将引发异常。

答案 1 :(得分:0)

我遇到了类似的问题。对我来说,附件得到了正确的附加。为我设计的解决方案是创建一个视图(server_crashed.html.erb)。 在此之后,当我运行rake任务时,它工作正常,我能够发送邮件。

答案 2 :(得分:0)

我遇到了同样的问题,就我而言,我在电子邮件正文中添加了一个空的多部分。

答案 3 :(得分:0)

当电子邮件文本正文和电子邮件HTML正文为空时,出现此错误。 因此,其中之一在使用电子邮件发送电子邮件时必须具有价值 Amazon Simple Email SendRawEmailAsync方法