为什么ActionMailer会随机不显示我的多部分/备用电子邮件的纯文本部分?

时间:2010-11-08 20:21:21

标签: ruby-on-rails email content-type mime actionmailer

我正在尝试发送同时包含纯文本和html组件的电子邮件。没有附件,但HTML部分中有内嵌图像。我正在使用内容类型“multipart / alternative”。我没有明确地设置零件;我依靠文件名来确定部件。我在轨道上2.3.10。

大约60%的时间,发送的电子邮件都没有正文,HTML部分附加到名为“noname”的邮件中(无论如何都是gmail)。剩下的时间他们按预期发送。如果我在10秒内发出10封电子邮件,那么其中有6封将是空白的。

当我检查日志时,通过的消息正确显示日志中的mime部分,并在content-type声明中显示边界值。

空白电子邮件仍然具有内容类型的multipart / alternative,但没有边界,因为空白电子邮件不呈现纯文本部分,只显示html部分。查看正在呈现的模板,很明显消息的纯文本部分被完全跳过。

为什么这有时会起作用并经常失败?这些消息都是在延迟作业的情况下发送的。

记录“好”的电子邮件:

  

呈现通知/ _comment(0.1ms)
  渲染布局/ _footer(2.1ms)
  渲染布局/ _container(2.3ms)
  渲染共享/附件/ _count(0.6ms)
  渲染布局/ speech / _bubble(21.4ms)
  渲染布局/语音/ _detail(0.8ms)
  渲染通知/ _comment(22.6ms)
  渲染布局/ _footer(2.0ms)
  渲染布局/ _container(2.2ms)
  已发送邮件至[编辑]

     

日期:星期一,2010年11月8日11:37:24 -0800
  来自:“[编辑]”< [编辑]>
  回复:“[编辑]”[编辑]
  致:[编辑]
  主题:有人对你的事情发表评论   哑剧版:1.0
  内容类型:multipart / alternative;边界= mimepart_4cd85174328d6_1486..fdbe5b8d87fe

     

- mimepart_4cd85174328d6_1486..fdbe5b8d87fe
  内容类型:text / plain;字符集= UTF-8
  内容传输编码:引用可打印的
  内容处理:内联

     

[纯文本部分的内容]

     
     

[html部分的内容]
  --mimepart_4cd85174328d6_1486..fdbe5b8d87fe -

记录空白电子邮件:

  

呈现共享/附件/ _count(0.1ms)
  渲染布局/ speech / _bubble(0.6ms)
  渲染布局/语音/ _detail(0.7ms)
  渲染通知/ _comment(1.6ms)
  渲染布局/ _footer(25.9ms)
  渲染布局/ _container(26.1ms)
  已发送邮件至[编辑]

     

日期:星期一,2010年11月8日11:37:29 -0800
  来自:“[编辑]”< [编辑]>
  回复:“[编辑]”< [编辑]>
  致:[编辑]
  主题:有人对你的事情发表评论   哑剧版:1.0
  内容类型:multipart / alternative; charset = utf-8

     

[HTML部分的内容]

请注意,这些电子邮件相隔5秒发送,两封电子邮件(本应该包含)都包含相同的内容。

1 个答案:

答案 0 :(得分:3)

我和DJ以及ActionMailer有过这个问题 - 结果我在两个公用事业服务器上运行DJ,我认为它只有一个,而我的部署钩子只在一个而不是另一个上重启DJ守护进程造成了很多像这样的问题。

我脑袋分裂最多的是60%的东西 - 有些人在其他人完全变形的情况下很好,但DJ守护进程在一台服务器上被重置,而另一台服务器没有完全解释不一致。

希望这有帮助!