Примечание: я прочитал это , но я все еще не знаю, как правильно построить функцию отправки электронной почты, поэтому я задаю этот вопрос. Мне нужно знать код состояния 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