2010-04-21 49 views
1

我使用net/pop檢索郵件,但我還需要通過電子郵件解析以從地址和電子郵件正文中獲取主題。 Action Mailer的任何想法? 我應該使用第三方的寶石。(不,甚至沒有Tmail)使用Action解析通過Ruby中的電子郵件郵寄者

require 'rubygems' 
require 'net/pop' 
require 'pop_ssl' 

Net::POP3.enable_ssl(OpenSSL::SSL::VERIFY_NONE) 

def pull_mail 
    Net::POP3.start("pop.gmail.com", 995, "uname","pass") do |pop| 

    if pop.mails.empty? 
     puts 'No mails.' 
    else 
     pop.each_mail do |mail| 
     puts mail_header 
    end 
    end 

end 

乾杯!

回答

1

基本上,你只需要編寫你的電子郵件的處理程序,所有的分析會爲你做幕後:

class MailHandler < ActionMailer::Base 
    def receive(email) 
    # here you will have an email object and will be able to call methods like 
    # email.subject and email.attachments 

    puts "from: #{email.from}, subject: '#{email.subject}'" 
    end 
end 

當你使用的Net :: POP3電子郵件,只是它們交給您的處理程序:

Net::POP3.start(server, port, username, password) do |pop| 
    pop.each_mail { |mail| MailHandler.receive(mail.pop) } 
end