gpt4 book ai didi

ruby-on-rails - 连接被拒绝 - 连接(2)用于 "localhost"端口 25 rails

转载 作者:数据小太阳 更新时间:2023-10-29 06:41:22 32 4
gpt4 key购买 nike

在我的培训期间,我在一个网站上工作,我们使用 Ruby on Rails。我们需要向用户发送邮件,所以我创建了一个邮件程序。

我尝试将 smtp 放在 development.rbenvironment.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: Connection refused - connect(2) for "localhost" port 25

看起来好像另一个文件正在覆盖我的设置。我还看到这可能与我的ssh key 没有被服务器授权有关。

知道错在哪里吗?

提前致谢

最佳答案

首先,在本地主机上开发时,通常实际发送邮件,而是将其视为部署细节并坚持 Rails 默认行为,即发送邮件标题和内容到控制台 STDOUT(您可以在其中验证文本看起来是否正确)。您是否有特定原因需要在开发环境中测试发送消息?

其次,您提到您在 development.rb 和 environment.rb 中设置了 SMTP 设置。您不需要将这些设置设置两次;一般来说,我会将 development.rb 用于特定于开发环境的设置,而 environment.rb 仅用于始终适用于所有环境(开发、测试、在实时部署的服务器上)。因此,如果您在 development.rb 和 environment.rb 中设置相同的设置,我会先删除一个或另一个;裁员只会让你以后的工作更加艰难。

最后,为了解决这个问题,我首先询问 Rails 的设置是什么,而不是等待邮件传递失败。尝试以下操作:

  • 启动rails控制台
  • 输入 Rails.configuration.action_mailer.smtp_settings 并将生成的哈希值与您的预期进行比较。此散列应包含发送所有邮件(在当前环境中)时使用的端口和域设置,因此如果 ActionMailer 正在尝试错误的端口,那么我预计这里的端口也是错误的。

您在哪里设置$SMTP_SERVER$PORT$MAIL?您有什么理由不使用 Rails 的环境变量约定,ENV['SMTP_SERVER'] 等?

希望其中一些有所帮助。祝你好运!

关于ruby-on-rails - 连接被拒绝 - 连接(2)用于 "localhost"端口 25 rails ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31009419/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com