Я использую Sinatra Ruby для API и использую Pony gem для отправки электронных писем. Я хочу регистрировать статус каждой отправленной почты (было ли электронное письмо успешно отправлено или нет, кому оно было отправлено и т. д.). Я вижу только журнал маршрутизации в консоли Sinatra, но никаких признаков электронной почты. Короче говоря, я хочу вести журнал как в консоли rails.
Как вести журнал статуса электронной почты, отправленного с помощью Pony gem в Sinatra
comment
Посмотрите документацию Pony gem, чтобы узнать, как проверить статус отправляемой почты.
- person Kelsey Hannan   schedule 12.01.2021
comment
@KelseyHannan я не нашел способа проверить статус почты
- person Biki Maharjan   schedule 12.01.2021
Ответы (1)
В документах есть способы увидеть если электронное письмо было отклонено:
Получение отчетов об ошибках по электронной почте:
@mail = Mail.read('/path/to/bounce_message.eml')
@mail.bounced? #=> true
@mail.final_recipient #=> rfc822;[email protected]
@mail.action #=> failed
@mail.error_status #=> 5.5.0
@mail.diagnostic_code #=> smtp;550 Requested action not taken: mailbox unavailable
@mail.retryable? #=> false
Поэтому, когда вы отправляете его, вы можете запустить puts @mail.bounced?
, если у вас есть доступ к переменной экземпляра отправленного письма, в противном случае найдите, где сохраняется сообщение .eml
.
person
Kelsey Hannan
schedule
12.01.2021