我正在使用Watir进行自动化,创建一个我需要检查的电子邮件.我被指向电子邮件gem是最简单的方法.
我添加了以下代码,并能够从我的收件箱中收到第一封电子邮件.
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
Run Code Online (Sandbox Code Playgroud)
我是这个论坛的新手并且有以下问题:
如何获取所有未读电子邮件?我试过Mail.all,Mail.first,Mail.last,但没有返回未读电子邮件.
如何获取电子邮件中存在的所有链接?或者从特定电子邮件发送邮件正文?我需要获取第一封未读电子邮件的电子邮件正文.
如果我的收件箱中有子文件夹,如何从特定文件夹收到电子邮件?
dor*_*emi 13
IMAP协议的第6.4.4节指出了可用于搜索消息的不同搜索标志.
您可以通过将搜索标志传递给find方法来检索新消息,如下所示:
new_messages = Mail.find(keys: ['NOT','SEEN'])
Run Code Online (Sandbox Code Playgroud)
Mail GitHub仓库中的一个问题也回答了此消息.
看来您阅读了一些文档。Mail.all 返回所有电子邮件,包括已读电子邮件。Mail.first 返回第一个未读邮件。我想再次这样做会返回下一个未读的内容。如果您的系统受到控制,您就不必担心这么多未读的电子邮件。如果我是你,我会在 IRB 中尝试它,直到你掌握它为止,甚至可能构建一个类,让你更容易使用它。祝你好运。
更新:来自 Mail gem 的文档。如果 Mail.first 不返回未读电子邮件(始终),那么作者应该知道。您可以提交问题。我自己不使用那个宝石。我使用 gmail gem 进行测试。
Mail.all #=> Returns an array of all emails
Mail.first #=> Returns the first unread email
Mail.last #=> Returns the first unread email
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4628 次 |
| 最近记录: |