2014-01-22 209 views
0

我的rails应用程序使用Ruby脚本从我的数据库中检索一个对象。 这OBJET是由六个字段即是:有没有办法用电子邮件gem来测试电子邮件连接?

  • 登录
  • 密码
  • 服务器
  • 端口
  • event_type_id
  • 活跃

使用mail gem,我m使用这些信息创建一个新的邮件连接n的我MailConnection模型中使用Mail.defaults,像这样:

def check 
    begin 
     puts("Attempting to connect to the specified email server...") 
     Mail.defaults do 
     retriever_method :pop3, :address => :server, 
       :port   => :port, 
       :user_name  => :login, 
       :password  => :password, 
       :enable_ssl  => false 

     end 
    rescue Exception => msg 
     puts("Unconnected : #{msg}") 
     false 
    else 
     puts("Connected") 
     true 
    end 
end 

我使用的Ruby脚本此方法来检查连接是否可以做任何事情之前etablished,但如果我使用无效DATAS ,即使网络无法访问,它仍然会返回“真实”。 我是Ruby的新手,我想知道我的功能有什么问题;

在此先感谢。

回答

0

我是一个初学者,但刚刚看过这个。

净/流行

require 'net/pop' 

pop = Net::POP3.new('your.mail.server', optional_port) 
pop.start('your_username', 'your_password') #should return an error if it fails 
pop.started? #if you want to double check 

与邮件宝石

如果你想用邮件宝石本身,在POP3猎犬connection方法让你得到那些同样的方法通过产生一个POP3对象到一个块:

Mail.defaults do 
    retriever_method :pop3, :address => :server, 
    :port   => :port, 
    :user_name  => :login, 
    :password  => :password, 
    :enable_ssl  => false 
end 

Mail.connection {|pop3| pop3.active? } 

您可能会注意到我互换使用了started?active?:它们是相同的POP3实例方法。一个只是另一个的别名。

相关问题