【发布时间】:2011-12-21 13:13:56
【问题描述】:
我已将 Capistrano 设置为在部署我的 RoR (2.3.8) 应用程序后发送电子邮件。我有一个config/cap_mailer.rb 文件,基本上看起来像:
ActionMailer::Base.smtp_settings = {
:address => my,
:port => exchange,
:domain => server,
:authentication => settings,
:user_name => are,
:password => here
}
class CapMailer < ActionMailer::Base
def deploy_notification(cap_vars)
recipients cap_vars[:notify_emails]
from 'deploy@my.org'
subject "New app!"
body "Deployed application...blah blah blah"
end
end
然后,在我的deploy.rb 文件中,我有以下内容:
require 'config/cap_mailer.rb'
...
desc "Email recipients of deployment"
task :notify do
puts " * Sending notification email"
set :notify_emails, ["test1@my.org", "test2@my.org", etc.]
CapMailer.deliver_deploy_notification(self)
end
现在这一切都很好而且花花公子......直到我在 :notify_emails 数组中放置了超过 7 个电子邮件地址。最多 7 个可以正常工作,但是当我输入 8 个或更多(所有有效地址)时,电子邮件会有点混乱(至少仍然会通过前 7 个)。查看电子邮件标题,它显示它正在从“收件人:”中截取第 8 个(以及第 9 个、第 10 个......)地址并将其放入邮件正文中。
标题:
线程索引:AcyaZxlga08L9p35QYKJ22aiGG2zeA==
内容类:urn:content-classes:message
重要性:正常
优先级:正常
X-MimeOLE:由...制作
收到:来自 exchange.my.org ([ip address]) by ...; 2011 年 11 月 3 日星期四 14:28:08 -0600
日期:2011 年 11 月 3 日星期四 14:28:08 -0600
来自:deploy@my.org
致:test1@my.org,
test2@my.org,
test3@my.org,
test4@my.org,
test5@my.org,
test6@my.org,
test7@my.org
标题:
身体:
test8@my.org
消息 ID:
主题:新应用!
Mime 版本:1.0
内容类型:文本/纯文本;字符集=utf-8
返回路径:deploy@my.org
X-OriginalArrivalTime:2011 年 11 月 3 日 20:28:08.0494 (UTC)
文件时间=[19601CE0:01CC9A67]
已部署的应用程序...等等等等
身体:
此外,主题不会出现在电子邮件中,即使邮件正文中的“错误文本”显示了正确的主题。
有人知道为什么会这样吗?有 8 个或更多收件人会破坏它是什么意思?我在 Google 上四处搜索,找不到任何关于 ActionMailer 对收件人数量有限制的信息(即使有,那也是一个很小的限制)。有什么我想念的吗?任何帮助表示赞赏!我真的需要能够发送给 8 个或更多收件人。
更新:直接使用包含 8 个或更多地址的数组设置 recipients 仍然会造成问题,因此这显然是 ActionMailer 而非 Capistrano 的问题。
recipients ["test1@my.org", "test2@my.org", "test3@my.org", "test4@my.org",
"test5@my.org", "test6@my.org", "test7@my.org", "test8@my.org", "test9@my.org"]
【问题讨论】:
-
我们的交换邮件服务器时常遇到类似的问题。 Exchange 在此过程中重写消息的标头和 foobars。您应该尝试使用另一个邮件服务器,看看会发生什么。
-
@Unixmonkey - 不幸的是,我无法更改邮件服务器(至少对于生产而言)。您认为这可能与这个Prawn/IE 问题有关吗?那里提供的解决方案适用于我的 Rails 应用程序,所以我想知道明确指定邮件标题是否会类似地解决这个问题。
标签: ruby-on-rails capistrano actionmailer