1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          如何驗證 Email 地址

          來源:互聯網轉載 時間:2024-01-29 08:25:56

          Email 是最常用的用戶識別手段。

          開發者常常需要驗證郵箱的真實性。一般的方法是,注冊時向該郵箱發出一封驗證郵件,要求用戶點擊郵件里面的鏈接。

          但是很多時候(比如要搞郵件營銷時),拿到的是成千上萬現成的 Email 地址,不可能通過回復確認真實性,這時該怎么辦呢?

          答案就是使用 SMTP 協議。本文將介紹如何通過該協議驗證郵箱的真假。

          另外,結尾處還有一則移動端 H5 開發的培訓消息,歡迎關注。

          一、SMTP 協議簡介

          SMTP 是"簡單郵件傳輸協議"(Simple Mail Transfer Protocol)的縮寫,基于 TCP 協議,用來發送電子郵件。

          只要運行了該協議的服務器端(daemon),當前服務器就變為郵件服務器,可以接收電子郵件。

          驗證 Email 郵箱的基本思路如下。

          1. 找到郵箱所在域名的 SMTP 服務器
          2. 連接該服務器
          3. 詢問有沒有該郵箱
          4. 如果服務器返回 250 或 251 狀態碼,郵箱就是真的;如果返回 5xx(500~599),就是假的。

          注意,即使服務器確認郵箱是真的, 也不代表郵件一定會發送到該郵箱,更不代表用戶一定會讀到該郵件。

          二、查找域名的 MX 記錄

          下面通過一個例子,演示如何驗證test@gmail.com這個郵箱。

          首先,需要查找gmail.com 的 MX 記錄。它指向真正處理郵件的那臺服務器。

          $ nslookup >

          輸入nslookup命令后,會提示一個大于號,表示等待用戶進一步輸入。

          > set q=mx > gmail.com

          上面代碼中,set q=mx設定查詢的是 MX 記錄,第二行輸入要查找的域名,結果返回了5條 MX 記錄。

          Server: 192.168.1.1 Address: 192.168.1.1#53 Non-authoritative answer: gmail.com mail exchanger = 20 alt2.gmail-smtp-in.l.google.com. gmail.com mail exchanger = 30 alt3.gmail-smtp-in.l.google.com. gmail.com mail exchanger = 10 alt1.gmail-smtp-in.l.google.com. gmail.com mail exchanger = 5 gmail-smtp-in.l.google.com. gmail.com mail exchanger = 40 alt4.gmail-smtp-in.l.google.com.

          gmail.com是很大的郵件服務商,所以會有多條記錄,一般的域名只有一條。如果這一步查不到 MX 記錄,該郵箱肯定是假的。

          除了自己執行nslookup,也可以使用線上服務(1,2,3)。更多 DNS 的介紹,請參考《DNS 原理入門》。

          三、建立 TCP 連接

          知道了郵件服務器的地址,就可以與它建立 TCP 連接了。SMTP 協議的默認端口是25。使用 Telnet 或 Netcat 命令,都可以連接該端口。

          $ telnet gmail-smtp-in.l.google.com 25 # 或者 $ nc gmail-smtp-in.l.google.com 25

          服務器返回220狀態碼,就表示連接成功。

          220 mx.google.com ESMTP f14si7006176pln.607 - gsmtp

          接下來,就可以使用 SMTP 協議的各種命令與郵件服務器交互了。

          四、HELO 命令和 EHLO 命令

          SMTP 協議規定,連接成功后,必須向郵件服務器提供連接的域名,也就是郵件將從哪臺服務器發來。

          假定從mail@example.comtest@gmail.com發送郵件,這里要提供的域名就是example.com。

          HELO exampl.com

          郵件服務器返回狀態碼250,表示響應成功。

          250 mx.google.com at your service

          不過,HELO命令現在比較少用,一般都使用EHLO命令。

          EHLO example.com

          郵件服務器收到EHLO命令以后,不僅會返回250狀態碼,還會返回自己支持的各種擴展的列表。

          250-mx.google.com at your service, [114.84.160.153] 250-SIZE 157286400 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8

          五、MAIL FROM 命令

          然后,連接者要使用MAIL FROM命令,向郵件服務器提供郵件的來源郵箱。

          MAIL FROM:<mail@example.com>

          上面代碼表示,連接者將從mail@example.com向郵件服務器發送郵件。郵件服務器返回250狀態碼,表示響應成功。

          250 2.1.0 OK h10si3194349otb.59 - gsmtp

          SMTP 是一個很簡單的協議,本身沒有規定如何驗證郵件的來源,也就是說,不驗證郵件是否真的從mail@example.com發來,所以導致了后來垃圾郵件泛濫。為了控制垃圾郵件,許多郵件服務器會用自己的方法驗證郵件地址,下面就是其中的一些方法。

          • example.com 是否有 MX 記錄
          • example.com 是否可以 Ping 通
          • 是否存在 postmaster@example.com 這個郵箱
          • 發起連接的 IP 地址是否在黑名單之中
          • IP 地址的反向 DNS 解析,是否指向一個郵件服務器

          六、RCPT TO 命令

          最后一步就是使用RCPT TO命令,驗證郵件地址是否存在。

          RCPT TO:<test@gmail.com>

          郵件服務器返回了550狀態碼,表示該 Email 地址不存在。

          550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 https://support.google.com/mail/?p=NoSuchUser p34si3372771otp.228 - gsmtp

          如果查詢的是一個真實的 Email 地址,郵件服務器就會返回250狀態碼。

          RCPT TO:<yifeng.ruan@gmail.com> 250 2.1.5 OK p34si3372771otp.228 - gsmtp

          一般來說,狀態碼 250 和 251 都表示郵箱存在,狀態碼 5xx 表示不存在,其他狀態碼(主要是 4xx)則代表無法確認。

          RCPT TO:<xxx@censored.pl> 451 Temporary local problem - please try later

          驗證完成后,使用QUIT命令關閉 TCP 連接。

          QUIT 221 2.0.0 closing connection p34si3372771otp.228 - gsmtp

          七、參考鏈接

          • How to Verify Email Address
          • Simple Mail Transfer Protocol

          (正文完)

          ==============================

          下面是推廣時間。移動端開發的市場廣,就業潛力大,現在有一門移動端 H5 開發的課程推薦給大家。

          海棠學院是一家專業的前端教育機構,一直與我有合作、受到很多學員好評。他們這次推出《移動端開發 + 職業技能》大型公開課,介紹 H5 開發,為期三周。

          該課程將帶領您一步一步學習移動端頁面的開發,手把手教你做出下面的頁面。

          完整的課程大綱請參考這里。

          除了技術課程,還會有一次《前端開發流程、求職、職場》的公開課,由海棠學院創始人張小河主講,幫助你了解前端工程師的就業市場和職業規劃。

          • 前端新手如何進入喜歡的公司?
          • 公司真實的開發流程是怎么樣的?
          • 為什么看了 100G 的視頻/資料,你也沒有學好?
          • 如何成為高年薪的前端工程師?

          這堂公開課是免費的,點擊這里了解詳情。

          (完)

          標簽:驗證郵件-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          北京地鐵9號線全程?北京地鐵9號線是北京一條已建成運營的城市軌道交通線路,于2011年12月31日開通南段(郭公莊站至北京西站),2012年10月12日開通豐臺東街站,2012年12月30日開通北段(白堆子站至國家圖書館站)。2013年,北京地鐵9號線。[1][20][21]據2020年3月北京地鐵官網顯示,北京地鐵9號線為南北走向,北起國家圖書館,途經白石橋南、白堆子、北京西站、豐臺東街等地,南...

          安徽八大名酒是哪八大?八大名酒是顧靖酒廠、口子窖、迎駕酒廠、宣酒、濉溪大曲、明光大曲、稻花香大曲、阜陽大曲等。,其中前四個最有名,在都很有名。安徽八大名酒是哪八大?1:安徽口子窖2.安徽顧靖酒廠3.安徽宣酒4.安徽迎駕酒廠5.安徽王文酒廠6:安徽醉三秋7.安徽皖酒8:安徽太和寺龍酒安徽八大名酒是哪八大?安徽名酒品牌有限公司。;黃金不能改變葡萄酒。 "金不換 "系列白酒有品、寶、精、綿、雅、香等30...

          fpe怎么用?這是一個舊的修飾符。首先,您可以在設置中找到熱鍵設置。你可以把它換到一個更舒適的關鍵位置。我通常用F鍵。然后你在開始游戲之前打開FPE,進入游戲,找到你想要修改的數字,比如金錢、經驗,記錄下來,按熱鍵,界面就會跳出到FPE,你在搜索欄中輸入你的數字,搜索,你可以找到幾組東西,可以多點,你可以點擊進入游戲,對原來的號碼進行更改,比如玩怪和體驗,花點錢,然后記錄更改的號碼,然后按熱鍵跳出...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>