Я настроил 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
Теперь это все работает хорошо и замечательно......пока я не поместил более 7 адресов электронной почты в массив :notify_emails. До 7 работает нормально, но когда я помещаю 8 и более (все адреса действительны), письмо немного портится (по крайней мере, доходит до первых 7). Если посмотреть на заголовок письма, то видно, что он отрезает 8-й (и 9-й, 10-й, ...) адрес от "To:" и помещает его в тело сообщения.
HEADER:
thread-index: AcyaZxlga08L9p35QYKJ22aiGG2zeA==
Content-Class: urn:content-classes:message
Важность: нормально
Приоритет: нормальный
X-MimeOLE: Produced By ...
Получено: от exchange.my.org ([ip адрес]) по ...; Thu, 3 Nov 2011 14:28:08 -0600
Date: Thu, 3 Nov 2011 14:28:08 -0600
From: deploy@my.org
To: test1@my.org,
test2@my.org,
test3@my.org,
test4@my.org,
test5@my.org,
test6@my.org,
test7@my.org
HEADER:
BODY:
test8@my.org
Message-Id:
<4eb2f95816341_135ff800c21ac130@my_box.local.tmail>
Тема: Новое приложение!
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Return-Path: deploy@my.org
X-OriginalArrivalTime: 03 Nov 2011 20:28:08.0494 (UTC)
FILETIME=[19601CE0:01CC9A67]
Развернутое приложение...бла-бла-бла
BODY:
Кроме того, тема не отображается в письме, хотя "текст ошибки" в теле сообщения показывает правильную тему.
Есть ли у кого-нибудь идеи, почему это происходит? Что такого в том, что у вас 8 или более получателей, что нарушает это? Я погуглил и не нашел ничего о том, что ActionMailer имеет ограничение на количество получателей (даже если бы оно было, это ограничение было бы небольшим). Может быть, я что-то упускаю? Любая помощь будет принята с благодарностью! Мне действительно нужно иметь возможность отправлять письма 8 или более получателям.
UPDATE: Установка получателей напрямую с массивом из 8 или более адресов все еще ломает вещи, так что это явно похоже на проблему с 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"]