2010-10-06 4 views
1

В настоящее время для отправки рельсовых сообщений мы используем Google приложения для наших электронных писем, но мы ограничены 500 электронными письмами/учетной записью/днем.Rails + Google Apps - вопрос с лимитом отправки электронной почты

Мне было интересно, есть ли способ отслеживать, сколько писем мы отправляем, а затем переключать учетные записи, если это необходимо - например, если мы находимся под 500 электронными письмами за день, используйте учетную запись 1, вы используете 500, используйте учетную запись 2, если мы набрали 999, используйте счет 3 и т. д.

Возможно ли это? Если есть плагин, это потрясающе, а если нет, как бы я это сделал?

Спасибо!

+0

Возможно, было бы намного проще просто купить надлежащую учетную запись для отправки электронной почты. – tadman

+0

Я согласен - это определенно ТОНС проще, но не дешевле - однако у нас ограниченный бюджет, и мы не можем часто переходить через 500 лимит. – stringo0

ответ

3

Вы можете легко выполнить это решение, создав прокси-класс. Класс будет отвечать за получение запроса на доставку электронной почты, зарегистрировать запрос и отправить его соответствующему Mailer.

Это очень простой прототип, при условии, что вы используете Rails 2.

module MailerProxy 

    mattr_accessor :emails_count 
    @@emails_count = 0 

    def self.deliver(klass, method, *args) 
    emails_count += 1 
    klass.send("deliver_#{method}", *args) 
    end 

end 

MailerProxy.deliver(UserMailer, :email_notification, User.first) 

Несмотря на решение выше может работать, я настоятельно рекомендую вам использовать соответствующий сервис для отправки электронной почты, который способен обработать ваш вместо того, чтобы пытаться создать сложные обходные пути.

+0

Спасибо Симоне! До сих пор многие службы электронной почты там, по-видимому, были дорогими - почтовый штемпель кажется самым дешевым - есть ли у вас рекомендуемые сайты? – stringo0

+0

У меня возникли проблемы с реализацией этого/думать об этом - 1) Как указать, какой smtp использовать? Мне нужно настроить несколько почтовых программ? Кроме того, это должен быть класс, правильно? – stringo0

+0

1. Создайте массив параметров и дайте классу выбрать лучший. Конечно, пример - всего лишь прототип. Нет, вам не нужно несколько почтовых программ, просто измените настройки ActiveMailer. Нет, это не обязательно должен быть класс. –