簡體   English   中英

Java Mail SMTP 身份驗證要求檢查而不發送郵件

[英]Java Mail SMTP authentication requirement check without sending a mail

我想知道我們如何在不發送電子郵件的情況下檢查 SMTP 服務器是否需要身份驗證。 我在Transport.send(mimemessage)上收到SMTPSendFailedException ,它進一步說“必須先發出 STARTTLS 命令”,但我不想使用任何身份驗證方法。

有沒有辦法在不實際發送電子郵件的情況下檢查是否需要身份驗證。

任何幫助,將不勝感激。

“必須先發出 STARTTLS 命令”

這不是身份驗證請求。 STARTTLS 命令是與服務器協商安全連接的協議的開始。 如果服務器要求您協商安全連接以與其通話(在您選擇的端口上),那么您必須這樣做。

這必須在服務器請求任何請求之前發生......

有沒有辦法在不實際發送電子郵件的情況下檢查是否需要身份驗證。

根據 SMTP 規范,某些命令(VRFY、EXPN)可能會在不進行身份驗證的情況下被請求,但是:

  • 規范說客戶端應該以 EHLO 開頭來告訴服務器它是誰。
  • 服務器有權拒絕 VRFY 或 EXPN 請求,無論客戶端是否已使用 EHLO 標識自己或對自己進行身份驗證(以某種方式)。

我不認為有一種可靠的方法來測試服務器是否需要客戶端/用戶進行身份驗證......在這個詞的正確意義上......而不嘗試發送電子郵件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM