【发布时间】:2015-09-09 15:27:25
【问题描述】:
在培训期间,我正在开发一个网站,我们使用 Ruby on Rails。我们需要向用户发送邮件,所以我创建了一个邮件程序。
我尝试将 smtp 放入 development.rb 和 environment.rb
config.action_mailer.default_url_options = {host: '0.0.0.0:3000'}
config.action_mailer.default charset: 'utf-8'
config.action_mailer.delivery_method = 'smtp'
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
adress: $SMTP_SERVER,
port: $PORT,
from: $MAIL,
enable_starttls_auto: true
#authentication: 'login'
}
它告诉我错误来自这个方法第 6 行
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
# Tell the UserMailer to send a welcome Email after save
UserMailer.welcome_email(@user).deliver_now
format.html { redirect_to(@user, :notice => 'User was successfully created.') }
format.json { render :json => @user, :status => :created, :location => @user }
else
format.html { render :action => "new" }
format.json { render :json => @user.errors, :status => :unprocessable_entity }
end
end
end
我已将端口设置为587,但我不断收到错误消息:
Errno::ECONNREFUSED:连接被拒绝 - “localhost”的连接(2) 端口 25
看起来好像另一个文件正在覆盖我的设置。我还看到这可能与我的 ssh 密钥未得到服务器授权有关。
知道有什么问题吗?
提前致谢
【问题讨论】:
-
我猜您应该使用 SendGrid 或 Amazon SES 之类的电子邮件服务,因为它们在本地工作。我不确定您应该如何让内置的 Rails 邮件程序正常工作。我当然不会在本地甚至无法运行的服务器上部署一些东西。
标签: ruby-on-rails ruby email