0

我在死胡同!我正在尝试制作一个应用程序来接收 hotmail 上的电子邮件!我创建了一个方法,但我收到一个错误并且没有收到电子邮件..

在我的方法中:

class Recivemail < ActiveRecord::Base
  attr_accessible :content, :from, :subject

 def sendmail(content,from,subject)
    subject = 'subject'
    recipients = "linkinpark_8884@hotmail.com"
    from = 'from'
    sent_on = Time.now
  end 
end

在配置>环境>development.rb

 config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings ={
    :enable_starttls_auto => true,
    :address => 'smtp.hotmail.com',
    :port => 587,
    :authentication => :plain,
    :domain => 'localhost:3000',
    :user_name => 'linkinpark_8884@hotmail.com',
    :password => 'mypass'

  }

在视图>接收邮件>显示

<%=@recivemail.sendmail(@recivemail.from,@recivemail.subject,@recivemail.content)%>

一切似乎都正常,除了我没有收到任何电子邮件任何想法?

4

1 回答 1

3

@recivemail.send(@recivemail.from,@recivemail.subject,@recivemail.content)

Ruby 中的send方法意味着“向该对象发送消息”(就像调用由第一个参数命名的方法一样send)。您在这里所做的是尝试调用一个由@recivemail.fromobject的值命名的方法@recivemail

http://ruby-doc.org/core-1.9.3/Object.html#method-i-send

在您的代码中,无论如何都sendmail没有命名该方法。send

(我也不会把它放在一个视图中,但这似乎是你现在最不麻烦的事情。)

至于您最初关于一般接收电子邮件的问题,请从本文开始。它是几年前写的,但应该能给你一些想法。

于 2012-06-25T14:41:52.640 回答