代码之家  ›  专栏  ›  技术社区  ›  Henry Yang

发送电子邮件失败时的HTTP状态代码

  •  1
  • Henry Yang  · 技术社区  · 5 年前

    注:我读过 this 但是我仍然不知道如何正确地构建发送电子邮件的功能,所以我问这个问题。我需要知道当电子邮件发送成功/失败时要使用的HTTP状态代码,或者如果这不是正确的操作,则是正确的操作。

    我的Rails应用程序将发送一封邮件请求。

    如果电子邮件发送失败,我应该向JSON响应中发送POST请求的人返回什么HTTP状态代码?

      def inform
        delivered = true
        begin
          UserMailer.new_comment(current_user, other_user, @note).deliver_now
        rescue Net::SMTPAuthenticationError, Net::SMTPServerBusy, Net::SMTPSyntaxError, Net::SMTPFatalError, Net::SMTPUnknownError
          delivered = false
        end
    
        if delivered
          # I use :created here because email is created
          render json: { delivered: true }.to_json, status: :created
        else
          # I use :service_unavailable here because email sending failed
          render json: { delivered: false }.to_json, status: :service_unavailable
        end
      end
    
    1 回复  |  直到 5 年前
        1
  •  1
  •   B Seven    5 年前

    五百零二

    bad_gateway

    通常用于上游服务器故障。

    以下是更多信息: https://airbrake.io/blog/http-errors/502-bad-gateway-error

    502坏网关错误意味着位于您(客户机)所连接的服务器上游的服务器出现故障。在这种情况下,这意味着提供502坏网关错误的服务器将充当网关。