Я обрабатываю сообщения электронной почты из моего приложения rails с помощью почтового ящика Mailman. Я следовал за Railcasts hereКак получить атрибут «Reply-To» из электронной почты с помощью mailman (Rails)?
В этом Railscasts Райан Бэйтс показал, как получить Субъект и контент из полученного нами электронного письма, и я мог бы это сделать просто отлично.
Но теперь я хочу извлечь другой атрибут из письма, а именно атрибут «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: "[email protected]",
password: "xxxxx"
}
Mailman::Application.run do
default do
puts "Received: #{message.Reply-To}"
end
end
Ниже мой mailman_test.eml файл:
Date: Fri, 25 February 2016
From: [email protected]
Subject: Mailman Test
To: [email protected]
Reply-To: [email protected]
define: 'not working' – Ecnalyr
@ Ecnalyr Я получил 'undefined method' Reply 'для (NoMethodError) ' –
Вы пытались получить к нему доступ по ключу? Очевидно, что 'Reply-To' не является допустимым символом Ruby. Альтернативно, API, вероятно, имеет доступ к заголовкам. –