Код состояния HTTP при отправке электронной почты не удалось - PullRequest
0 голосов
/ 10 января 2019

Примечание: я прочитал это , но я все еще не знаю, как правильно построить функцию отправки электронной почты, поэтому я задаю этот вопрос. Мне нужно знать код состояния HTTP, который будет использоваться при успешной / неудачной отправке электронной почты или, если это неправильно, то нужно делать.

Запрос POST к моему приложению rails отправит электронное письмо.

Если отправка электронной почты не удалась, какой код статуса HTTP я должен вернуть человеку, который отправил запрос POST в моем ответе JSON?

  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 Ответ

0 голосов
/ 10 января 2019

502

bad_gateway

Обычно используется для сбоя вышестоящего сервера.

Вот еще немного информации: https://airbrake.io/blog/http-errors/502-bad-gateway-error

Ошибка 502 Bad Gateway означает, что сервер, который является восходящим по отношению к тому, к которому вы (клиент) подключаетесь, столкнулся с проблемой. В этом сценарии это означает, что сервер, предоставляющий ошибку 502 Bad Gateway, действует как шлюз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...