Я использую свою учетную запись Gmail Apps для домена для отправки электронной почты в мое приложение rails для стандартных автоматических писем (регистрация пользователей, забыли пароль, уведомление администратора нового комментария и т. Д.), Но я беспокоюсь о 500 электронных письмах в день ограничение, установленное Google.Как я могу работать с ограничениями исходящей отправки Gmail в SMTP?
Google предлагает один из способов преодолеть предел - использовать несколько учетных записей пользователей.
Итак, я установил 10 дополнительных учетных записей пользователей gmail (noreply1, noreply2, noreply3 и т. Д.). Я хотел бы отслеживать, когда какая-либо из этих учетных записей отправила 500 писем в течение 24 часов и использовала незанятую учетную запись соответственно.
Как я могу установить значение :user_name
в ActionMailer::Base.smtp_settings
?
Вот моя текущая настройка - Примечание: это посылает из «noreply1» каждый раз, хотя я явно устанавливая: user_name и: от «noreply2»:
--- development.rb ---
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => "587",
:domain => "mydomain.com",
:authentication => :plain,
:user_name => "[email protected]",
:password => "password"
}
--- account.rb --- (MODEL, called via a callback)
after_create :send_welcome_email
...
def send_welcome_email
#ActionMailer::Base.smtp_settings[:user_name] = '[email protected]'
ActionMailer::Base.smtp_settings.merge!({:user_name => "[email protected]"})
SubscriptionNotifier.deliver_welcome(self)
end
--- subscription_notifier.rb --- (MODEL)
class SubscriptionNotifier < ActionMailer::Base
def welcome(account)
@sent_on = Time.now
@subject = "Welcome to the App"
@recipients = account.email
@from = "[email protected]"
@body = { :account => account }
end
end
Я думаю, что идея workmad3 об изменении хэша ActionMailer :: Base.smtp_settings находится на правильном пути, я просто не могу понять, как получить рельсы для перезагрузки значений хэша с помощью моего динамически заданного ключа: user_name. –
Какую версию Rails вы используете? Изменение ActionMailer :: Base.smtp_settings [: имя_пользователя] динамически в действии контроллера работает для меня в 2.3.2. (По крайней мере, хеш изменяется. Я не пытался отправлять почту.) –
это странная вещь - значение ключа хеша изменяется, но письмо отправляется с использованием оригинала: имя_пользователя, которое было в моем файле development.rb –