Как получить электронную почту с нескольких адресов электронной почты, используя pop3 of gem mail в Rails?

В моем проекте мне придется писать разные задания cron для чтения писем с разных адресов электронной почты для выполнения разных задач. Я использую почтовый гем, но проблема в том, что retriever_method является синглтоном. Поэтому, когда я упомяну новый адрес электронной почты и новый пароль, предыдущие настройки retriever_method будут изменены. Поэтому я не могу получить электронную почту, когда одновременно выполняются задания cron.

Предположим, в моей первой работе cron у меня есть что-то вроде следующих настроек

Mail.defaults do
  retriever_method :pop3, :address    => "pop.gmail.com",
                      :port       => 995,
                      :user_name  => '<username1>',
                      :password   => '<password1>',
                      :enable_ssl => true
end

В моей второй работе cron, если я использую что-то вроде

:user_name => '<username2>',
:password => '<password1>'

В этом случае оба будут изменены на username2

Есть ли обходной путь? Или любое другое предложение, чтобы сделать эту работу. Я не хочу IMAP по какой-то другой причине.

Любое предложение будет оценено.

1 ответ

Решение

Mail retrieve_method является одиночным. поэтому я использую Net::IMAP напрямую с Mail для получения вложения. Можно также использовать Net::Pop3 с Mail для решения этой проблемы.

Другие вопросы по тегам