我在两者中设置了smtp设置,config/environments/production.rb
并且development.rb
我在`config/initializers/setup_mail.rb中添加了设置
config.action_mailer.default_url_options = { :host => 'ipaddress' } config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => 'smtp.gmail.com', :port => 587, :domain => 'gmail.com', :user_name => 'EMAIL_ADDRESS@gmail.com', :password => 'pass', :authentication => :plain, :enable_starttls_auto => true, :openssl_verify_mode => 'none' }
配置/初始化/为setup_mail.rb
ActionMailer::Base.smtp_settings = { :address => 'smtp.gmail.com', :port => 587, :domain => 'gmail.com', :user_name => 'EMAIL_ADDRESS@gmail.com', :password => 'pass', :authentication => :plain, :enable_starttls_auto => true, :openssl_verify_mode => 'none' } ActionMailer::Base.default_url_options[:host] = "ipaddress"
我收到了错误 Connection refused - connect(2)
虽然我在localhost中使用以下配置工作,但我没有收到任何错误,并且邮件已经发送.
config/initializers/setup_mail.rb(localhost)
ActionMailer::Base.smtp_settings = { :address => 'smtp.gmail.com', :port => 587, :domain => 'localhost', :user_name => 'EMAIL_ADDRESS@gmail.com', :password => 'pass', :authentication => 'plain', :enable_starttls_auto => true } ActionMailer::Base.default_url_options[:host] = "localhost:3000"
在控制台中运行时,错误显示如下
Errno::ECONNREFUSED: Connection refused - connect(2) from /home/attuser/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/smtp.rb:541:in `initialize' from /home/attuser/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/smtp.rb:541:in `open' from /home/attuser/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/smtp.rb:541:in `tcp_socket' from /home/attuser/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/smtp.rb:550:in `block in do_start' from /home/attuser/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/timeout.rb:69:in `timeout' from /home/attuser/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/timeout.rb:100:in `timeout' from /home/attuser/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/smtp.rb:550:in `do_start' from /home/attuser/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/net/smtp.rb:520:in `start' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/mail-2.4.4/lib/mail/network/delivery_methods/smtp.rb:144:in `deliver!' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/mail-2.4.4/lib/mail/message.rb:2034:in `do_delivery' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/mail-2.4.4/lib/mail/message.rb:229:in `block in deliver' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/actionmailer-3.2.9/lib/action_mailer/base.rb:415:in `block in deliver_mail' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/activesupport-3.2.9/lib/active_support/notifications.rb:123:in `block in instrument' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/activesupport-3.2.9/lib/active_support/notifications/instrumenter.rb:20:in `instrument' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/activesupport-3.2.9/lib/active_support/notifications.rb:123:in `instrument' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/actionmailer-3.2.9/lib/action_mailer/base.rb:413:in `deliver_mail' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/mail-2.4.4/lib/mail/message.rb:229:in `deliver' from (irb):28 from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/railties-3.2.9/lib/rails/commands/console.rb:47:in `start' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/railties-3.2.9/lib/rails/commands/console.rb:8:in `start' from /home/attuser/.rvm/gems/ruby-1.9.3-p545/gems/railties-3.2.9/lib/rails/commands.rb:41:in `' from script/rails:6:in `require'
调节器
def sendResume @name =params[:name] @email_id = params[:email_id] @mob_no = params[:ph_no] attachments = params[:resume] if simple_captcha_valid? if params[:resume] filename=attachments.original_filename extname = File.extname(filename)[1..-1] mime_type = Mime::Type.lookup_by_extension(extname) content_type = mime_type.to_s unless mime_type.nil? if content_type !="application/pdf" flash[:error]= "Only pdf files are allowed" redirect_to :action=>"careers" else File.open(Rails.root.join('tmp', 'uploads', attachments.original_filename), 'w') do |file| re = attachments.read file.write(re.force_encoding("utf-8")) @attached_path = file.path end begin ResumeMailer.sendResume(@name, @email_id, @mob_no, @attached_path, attachments.original_filename).deliver flash[:notice] = "Your resume has been submitted successfully" redirect_to :action=>"careers" rescue Exception => e puts e.message logger.warn "error sending mail" flash[:error]= "Error in submitting resume" redirect_to :action=>"careers" end end else flash[:error]= "Please upload your resume" redirect_to :action=>"careers" end else flash[:error]= "Incorrect captcha" redirect_to :action=>"careers" end end
安装后postfix
,错误在控制台模式下消失,邮件从控制台发送,但在图形模式下(在浏览器中)我收到错误Connection refused - connect(2)
.
怎么了,
提前致谢.