如何使用mailman(Rails)从电子邮件中获取“Reply-To”属性?

时间:2016-03-03 22:54:22

标签: ruby-on-rails ruby email ruby-on-rails-4 mailman

我使用Mailman gem从我的rails应用程序中查询电子邮件。我跟着铁路广播here

在那个Railscasts中,Ryan Bates展示了如何从我们收到的电子邮件中检索主题和内容,我可以遵循这一点。

但是现在,我想从电子邮件中获取其他属性,更具体地说是“Reply-To”属性。那我怎么能这样做呢?

我试过这样做:message.Reply-to,但我得到了

undefined method `Reply' for #<Mail::Message:0x007fc0fd641890> (NoMethodError) 

当我试图测试它时。以下是完整错误消息的屏幕截图:

enter image description here

以下是我的mailman_server文件:

#!/usr/bin/env ruby
require "rubygems"
require "bundler/setup"
require "mailman"

#Mailman.config.logger = Logger.new("log/mailman.log")

Mailman.config.pop3 = {
  server: 'pop.gmail.com', port: 995, ssl: true,
  username: "xxxxx@gmail.com",
  password: "xxxxx"
}

Mailman::Application.run do
  default do
    puts "Received: #{message.Reply-To}"
  end
end

以下是我的mailman_test.eml文件:

Date: Fri, 25 February 2016
From: myappsender@gmail.com
Subject: Mailman Test
To: myappsupport@gmail.com
Reply-To: myappreply@gmail.com

1 个答案:

答案 0 :(得分:2)

mailman gem在处理传入邮件时在内部使用Mail::Message

因此,您可以随时访问Mail::Message的所有方法。其中一种方法是reply_to。所以你可以尝试message.reply_to

有关详细信息,请参阅Mail::Message Documentation