Вопрос по email, ruby – Нужна помощь в чтении писем с «почтой» в рубине

6

Я делаю автоматизацию с помощью Watir, который создает письмо, которое мне нужно проверить. Я был отмечен в письме как о самом простом способе сделать это.

Я добавил следующий код и смог получить первое электронное письмо из своего почтового ящика.

<code>require 'mail' 
require 'openssl'

Mail.defaults do 
  retriever_method :pop3, :address    => "email.someemail.com", 
                          :port       => 995, 
                          :user_name  => 'domain/username', 
                          :password   => 'pwd', 
                          :enable_ssl => true 
end 

puts Mail.first 
</code>

Я новичок в этом форуме и у меня есть следующие вопросы:

How can I get all the unread emails? I tried Mail.all, Mail.first, Mail.last, but nothing returns unread email.

How can I get all links that are present inside emails? Or mail message body from the specific email? I need to get the email body of first unread email.

How can I get emails from a specific folder, if I have subfolders inside my inbox?

Watir не имеет никакого отношения к вашему вопросу. Я не уверен, как это работает, но я думаю, что вы должны попытаться выбрать правильные теги. Dave McNulla

Ваш Ответ

3   ответа
0

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

13

6.4.4 протокола IMAP указывает различные флаги поиска, которые вы можете использовать для поиска сообщений.

Вы можете получать только новые сообщения, передавая флаги поиска методу find следующим образом:

new_messages = Mail.find(keys: ['NOT','SEEN'])

На это сообщение также ответили ввопрос о репозитории Mail GitHub.

1

документация, Mail.all возвращает все электронные письма, включая прочитанные. Mail.first возвращает первое непрочитанное. Я хотел бы представить, что если сделать это снова, вернемся к следующему непрочитанному Если ваша система контролируется, вам не нужно беспокоиться о таком количестве непрочитанных писем. Если бы я был вами, я бы попробовал это в IRB, пока вы не разберетесь с этим, возможно, даже создадите класс, который сделает его более удобным для вас. Удачи.

Обновление: документация из Почтового камня. Если Mail.first не возвращает непрочитанное письмо (все время), то об этом должен знать автор. Вы можете отправить вопрос. Я сам не использую этот драгоценный камень. Я использую гем Gmail для тестирования.

Mail.all    #=> Returns an array of all emails
Mail.first  #=> Returns the first unread email
Mail.last   #=> Returns the first unread email
с Mail.First, он всегда извлекает первое электронное письмо из почтового ящика. он никогда не извлекает первое непрочитанное письмо из почтового ящика. user1356838
Я также хочу получать только непрочитанные письма. Но у меня та же проблема:Mail.all извлекает все письма,Mail.first первый (независимо от того, читается он или нет).
нет, я не работал. user1356838

Похожие вопросы