Я хотел бы изящно обрабатывать сбои подтверждения sendmail STARTTLS. Для исходящей почты было бы лучше, если бы была немедленная повторная попытка без STARTTLS в случае неудачи. Что касается входящей почты, в идеале сайт, который вызывает сбои при установлении связи, должен быть внесен в белый список, чтобы не использовать STARTTLS в будущем, хотя я понимаю, что это, вероятно, непрактично.
В качестве альтернативы в этой специализированной среде на данный момент, вероятно, будет достаточно метода, который по умолчанию не использует STARTTLS и указывает только определенные сайты / домены, которым будет предлагаться STARTTLS для входящей и / или исходящей почты. Любые предложения приветствуются. Спасибо.
Извините за плохие новости, но, как ни странно, sendmail не предлагает такого уровня детализации. Для исходящей почты это по умолчанию означает простой трехэтапный гибкий формат:
STARTTLS
. STARTTLS
подключение. STARTTLS
, продолжайте SMTP-связь в открытом виде. К сожалению, здесь нет логики «отката» - если удаленная сторона объявляет о поддержке TLS, sendmail предполагает, что может / должен ее использовать. Таким образом, если проблема возникает на шаге 2, сообщение ставится в очередь, и sendmail пытается повторить попытку позже.
Если вы хотите отключить эту логику STARTTLS, вам нужно использовать try_tls
набор правил (описанный Вот).