0

我一直在尝试使用 IMAP 在 Rails 中接收电子邮件,并向用户发送新邮件已收到的通知。我有一个名为“电子邮件”的表,我必须在其中存储电子邮件信息,例如 message_from、message_to、message,并且我想知道每当有新邮件进来时如何从 gmail 中获取电子邮件。以下是代码

  require 'net/imap'
  require 'net/http'

  imap = Net::IMAP.new('imap.gmail.com', 993, usessl = true, certs = nil, verify = false)
  imap.login('sampleuser', 'password')
  imap.select('INBOX')
  imap.search(["NOT", "SEEN"]).each do |message_id|
    emails = imap.fetch(mail,'RFC822')[0].attr['RFC822']
    @mail = Email.new("from" => emails.from, "to" => emails.to)
    @mail.save
  end

但我无法获取 message_from 或 message_to 或消息,它显示错误为

TypeError (can't convert Symbol into Integer):

我如何获取这些详细信息,并且我想在表中创建新条目时向用户发送通知,单击该条目应将其带到我必须显示电子邮件的页面。

我该如何做到这一点,我应该使用调度程序之类的东西来检查新邮件是否来了,如果我没有阅读邮件,我怎么能确定我已经收到了邮件并且我不想重复。请帮我。

4

1 回答 1

2

接收电子邮件的最佳选择是Griddler很容易设置

您可以将电子邮件发送到您想要的模型并在那里进行处理。

于 2013-11-13T05:22:42.307 回答