Назад | Перейти на главную страницу

STARTTLS sendmail сбои рукопожатия на SMTP и повторные попытки

Я хотел бы изящно обрабатывать сбои подтверждения sendmail STARTTLS. Для исходящей почты было бы лучше, если бы была немедленная повторная попытка без STARTTLS в случае неудачи. Что касается входящей почты, в идеале сайт, который вызывает сбои при установлении связи, должен быть внесен в белый список, чтобы не использовать STARTTLS в будущем, хотя я понимаю, что это, вероятно, непрактично.

В качестве альтернативы в этой специализированной среде на данный момент, вероятно, будет достаточно метода, который по умолчанию не использует STARTTLS и указывает только определенные сайты / домены, которым будет предлагаться STARTTLS для входящей и / или исходящей почты. Любые предложения приветствуются. Спасибо.

Извините за плохие новости, но, как ни странно, sendmail не предлагает такого уровня детализации. Для исходящей почты это по умолчанию означает простой трехэтапный гибкий формат:

  1. Проверьте, объявляет ли удаленный нисходящий MTA поддержку STARTTLS.
  2. Если удаленная сторона объявляет о поддержке, переходите к переговорам STARTTLS подключение.
  3. Если удаленная сторона делает не рекламировать поддержку STARTTLS, продолжайте SMTP-связь в открытом виде.

К сожалению, здесь нет логики «отката» - если удаленная сторона объявляет о поддержке TLS, sendmail предполагает, что может / должен ее использовать. Таким образом, если проблема возникает на шаге 2, сообщение ставится в очередь, и sendmail пытается повторить попытку позже.

Если вы хотите отключить эту логику STARTTLS, вам нужно использовать try_tls набор правил (описанный Вот).