Ruby 使用gmail gem跟踪一些电子邮件
我正在使用gmail gem发送电子邮件,我需要跟踪这些电子邮件。我该怎么做 我正在尝试搜索带有消息id的电子邮件,但它会带来我收件箱中的所有电子邮件,我只需要特定电子邮件的回复 这是我的实际代码: *使用消息\u id保存电子邮件*Ruby 使用gmail gem跟踪一些电子邮件,ruby,gmail,tracking,Ruby,Gmail,Tracking,我正在使用gmail gem发送电子邮件,我需要跟踪这些电子邮件。我该怎么做 我正在尝试搜索带有消息id的电子邮件,但它会带来我收件箱中的所有电子邮件,我只需要特定电子邮件的回复 这是我的实际代码: *使用消息\u id保存电子邮件* mail = gmail.deliver(email) Email.create(:message_id => mail.message_id, :from => user.email, :to => annotation.to, :body
mail = gmail.deliver(email)
Email.create(:message_id => mail.message_id, :from => user.email,
:to => annotation.to, :body => annotation.content, :title => annotation.title,
:annotation => annotation, :user => user)
messages = gmail.inbox.mails(:message_id => email.message_id)
*搜索带有消息\u id的邮件*
mail = gmail.deliver(email)
Email.create(:message_id => mail.message_id, :from => user.email,
:to => annotation.to, :body => annotation.content, :title => annotation.title,
:annotation => annotation, :user => user)
messages = gmail.inbox.mails(:message_id => email.message_id)
问候,
法布里西奥·法拉利·德坎波斯你可以看看
uid=gmail.conn.uid\u搜索([“标题”、“消息ID”和“”])[0]
#=> 103
message=Gmail::message.new(Gmail.inbox,uid)
#=> #
message.subject
#=>“你好,世界”
message.message\u id
#=> ""
没有找到一种方法可以通过邮件id进行搜索。通过这种方式,你可以获得一封特定的电子邮件。使用标准的gmail gem,这似乎效果很好
messages = gmail.inbox.mails(:query => ['HEADER', 'Message-ID', email.message_id])
我可以使用(不确定这是否与您使用的宝石相同) 消息ID标头是生成的电子邮件对象的一部分。然后可以使用
rfc822msgid
(中描述)对其进行搜索
下面是一个例子:
def gmail_connect
Gmail.connect(email_address, password)
end
def send_email
gmail = gmail_connect
email = gmail.compose do
to recipient@mail.internet
subject 'Hello'
content_type 'text/html; charset=UTF-8'
body 'Hello, World'
end
gmail.deliver(email)
gmail.logout
email.message_id
end
def verify_sent_email(id)
gmail = gmail_connect
found = gmail.mailbox('sent').find(rfc822msgid: id).count
gmail.logout
( found > 0 ) ? true : false
end
id = send_email
verify_sent_email(id)
你用的是哪款gmail gem?链接到回购协议会有所帮助。