Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3.2.1 actionmailer设置_Ruby On Rails_Ruby On Rails 3_Actionmailer - Fatal编程技术网

Ruby on rails Rails 3.2.1 actionmailer设置

Ruby on rails Rails 3.2.1 actionmailer设置,ruby-on-rails,ruby-on-rails-3,actionmailer,Ruby On Rails,Ruby On Rails 3,Actionmailer,我在注册时设置ActionMailer时遇到困难: config/initializers/setup\u mail.rb ActionMailer::Base.smtp_settings = { :address => "smtp.gmail.com", :port => "587", :domain => "mail.gmail.com", :user_name

我在注册时设置ActionMailer时遇到困难:

config/initializers/setup\u mail.rb

ActionMailer::Base.smtp_settings = {
 :address              => "smtp.gmail.com",
 :port                 => "587",
 :domain               => "mail.gmail.com",
 :user_name            => "my_gmail_user_name",
 :password             => "my_gmail_pw",
 :authentication       => "plain",
 :enable_starttls_auto => true
}

ActionMailer::Base.default_url_options[:host] = "localhost:3000"
Mail.register_interceptor( DevelopmentMailInterceptor ) if Rails.env.development?
def create
  @user = User.new( params[:user] )

  respond_to do |format|
    if @user.save
      UserMailer.welcome_email( @user ).deliver

      format.html{ redirect_to( @user, :notice => 'Account successfully created.' ) }
      format.json{ render :xml => @user, :status => :created, :location => @user }
    else
      format.html { render :action => "new" }
      format.xml  { render :xml => @user.errors, :status => :unprocessable_entity }
    end
end
class UserMailer < ActionMailer::Base
  default :from "no-reply@myapp.com"

  def welcome_email( user )
    @user = user
    @url = "http://localhost:3000/login"
    mail( :to => user.email, :subject => 'Welcome to app' )
  end
end
class DevelopmentMailInterceptor
  def self.delivering_email(message)
    message.subject = "#{message.to} #{message.subject}"
    message.to = "mydump@email.com"
  end
end
users\u controller.rb

ActionMailer::Base.smtp_settings = {
 :address              => "smtp.gmail.com",
 :port                 => "587",
 :domain               => "mail.gmail.com",
 :user_name            => "my_gmail_user_name",
 :password             => "my_gmail_pw",
 :authentication       => "plain",
 :enable_starttls_auto => true
}

ActionMailer::Base.default_url_options[:host] = "localhost:3000"
Mail.register_interceptor( DevelopmentMailInterceptor ) if Rails.env.development?
def create
  @user = User.new( params[:user] )

  respond_to do |format|
    if @user.save
      UserMailer.welcome_email( @user ).deliver

      format.html{ redirect_to( @user, :notice => 'Account successfully created.' ) }
      format.json{ render :xml => @user, :status => :created, :location => @user }
    else
      format.html { render :action => "new" }
      format.xml  { render :xml => @user.errors, :status => :unprocessable_entity }
    end
end
class UserMailer < ActionMailer::Base
  default :from "no-reply@myapp.com"

  def welcome_email( user )
    @user = user
    @url = "http://localhost:3000/login"
    mail( :to => user.email, :subject => 'Welcome to app' )
  end
end
class DevelopmentMailInterceptor
  def self.delivering_email(message)
    message.subject = "#{message.to} #{message.subject}"
    message.to = "mydump@email.com"
  end
end
app/mailers/user\u mailer.rb

ActionMailer::Base.smtp_settings = {
 :address              => "smtp.gmail.com",
 :port                 => "587",
 :domain               => "mail.gmail.com",
 :user_name            => "my_gmail_user_name",
 :password             => "my_gmail_pw",
 :authentication       => "plain",
 :enable_starttls_auto => true
}

ActionMailer::Base.default_url_options[:host] = "localhost:3000"
Mail.register_interceptor( DevelopmentMailInterceptor ) if Rails.env.development?
def create
  @user = User.new( params[:user] )

  respond_to do |format|
    if @user.save
      UserMailer.welcome_email( @user ).deliver

      format.html{ redirect_to( @user, :notice => 'Account successfully created.' ) }
      format.json{ render :xml => @user, :status => :created, :location => @user }
    else
      format.html { render :action => "new" }
      format.xml  { render :xml => @user.errors, :status => :unprocessable_entity }
    end
end
class UserMailer < ActionMailer::Base
  default :from "no-reply@myapp.com"

  def welcome_email( user )
    @user = user
    @url = "http://localhost:3000/login"
    mail( :to => user.email, :subject => 'Welcome to app' )
  end
end
class DevelopmentMailInterceptor
  def self.delivering_email(message)
    message.subject = "#{message.to} #{message.subject}"
    message.to = "mydump@email.com"
  end
end

DevelopmentMailInterceptor

gmail是anal中,我没有收到任何发送到转储电子邮件的电子邮件!您是否可以使用其他smtp主机?我认为,由于过度攻击性的垃圾邮件检测,他们会默默地拒绝他们认为“潜在垃圾邮件”的SMPT请求。在你的情况下,潜在的垃圾邮件是指来自“mail.gmail.com”以外的地址的电子邮件,在你的情况下,该地址是“email.com”

我认为使用gmail作为Rails应用程序的SMTP主机是一个失败的提议,我使用godaddy.com(smtpout.secureserver.net)作为我的Rails应用程序,并且没有任何问题