Как извлечь атрибут "Reply-To" из электронной почты с помощью mailman (Rails)?

Я опрашиваю электронные письма из моего приложения rails, используя Mailman gem. Я следил за Railcasts здесь

В этих Railscasts Райан Бейтс показал, как извлечь Предмет и Контент из полученного нами электронного письма, и я прекрасно это понял.

Но теперь я хочу получить другой атрибут из электронного письма, в частности, атрибут "Ответить". Так как я мог это сделать?

Я пытался сделать это так: 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

1 ответ

Решение

mailman драгоценный камень внутренне использует Mail::Message при обработке входящей почты.

Таким образом, у вас есть доступ ко всем методам Mail::Message к вашим услугам. Одним из таких методов является reply_to, Так что вы можете попробовать message.reply_to,

Обратитесь к Mail::Message Documentation для получения дополнительной информации.

Другие вопросы по тегам