2017-04-04 71 views
0

給出一個電子郵件地址,如「[email protected]」,我試圖確定他們所使用的電子郵件服務器的信息,如下信息:檢索電子郵件服務器信息,形成一個電子郵件地址

  • 端口
  • 使用TLS

目前,我的電子郵件地址分成兩個部分(例如用戶和example.com),然後才能做的域中的MX查找,以試圖確定郵件域使用:

dns.resolveMx(hostname, callback) 

然而,幾臺主機似乎使用其他服務器相比(例如,Justhost的鼓勵他們來自example.com的所有域justXX.justhost.com爲他們提供TLS)和達到這些被證明是棘手的。

只要端口沒有問題,只要他們使用默認端口,否則就我所見,這是不可能的,只要我有域名和端口以便聯繫服務器。

因爲所有這些方法在最好的時候似乎都不可靠,是否有更好的方法來確定這些信息?這與製作郵件客戶端有關,該客戶端嘗試登錄到郵件服務器以檢索電子郵件,並使用SMTP協議從該服務器發送電子郵件。

回答

0

您唯一可以信賴的信息是DNS中可用的信息。這是爲給定地址發送郵件所需的全部信息。

如果你想收到電子郵件,那麼這是一個完全不同的故事。你沒有提到你需要哪個郵件服務器。獲取傳入電子郵件的服務器?讓用戶發送電子郵件的服務器?讓用戶下載他們的電子郵件的服務器?我假設您希望可以爲該域發送電子郵件的服務器可以作爲DNS中的MX提供。

你沒有提到爲什麼你需要這些信息,但如果你想要它,所以你可以發送這些域名的電子郵件,那麼你可以使用像Mailgun,Mandrill或亞馬遜SES交易電子郵件服務,因爲它將處理所有這些細節適合你。但是您沒有說明獲取該信息的目的是什麼,所以我不知道這是否會對您有所幫助,我將其添加以防萬一。

+0

道歉,我的問題確實含糊不清。我現在要編輯它,但是tl; dr是我試圖製作郵件客戶端並嘗試從輸入的電子郵件地址中自動檢索域/端口信息。根據我在網上閱讀的內容,我不認爲這個問題有一個很好的答案,我必須強制用戶輸入自己的信息,除非它來自一個受歡迎的電子郵件提供商的硬編碼列表。 –

相關問題