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

How to fetch "Reply-To" attribute from email by using mailman (Rails)?

我正在使用 Mailman gem 从我的 rails 应用程序轮询电子邮件。我关注了 Railcasts here

在那个 Railscasts 中,Ryan Bates 展示了如何从我们收到的电子邮件中检索主题和内容,我可以很好地理解。

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

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

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

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

下面是我的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

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

因此您可以随意使用 Mail::Message 的所有方法。其中一种方法是 reply_to。所以你可以试试 message.reply_to.

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