рдирд┐рдпрдорд┐рдд рдИрдореЗрд▓ рд╕рддреНрдпрд╛рдкрди рдкрд░реНрдпрд╛рдкреНрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред PHP рдФрд░ рд░реВрдмреА рдореЗрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде MX рд░рд┐рдХреЙрд░реНрдбреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдирд╛

рдХрд┐рддрдиреА рдмрд╛рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рджреБрдирд┐рдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рд╣реИ ... рдПрдХ рд▓рдВрдмреА рдФрд░ рд╢рд╛рдпрдж рдЕрдВрддрд╣реАрди рдмрд╣рд╕ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдИрдореЗрд▓ рдХреНрд╖реЗрддреНрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рд╣рд╛рдВ, рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рдпрдорд┐рдд рд╕реАрдЬрди рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рдж рдСрдирд▓рд╛рдЗрди рд╣реИрдВред рддреЛ рдЙрд╕рдХреА рд╕рдЪреНрдЪреА рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рди рдХрд┐рдпрд╛ рдЬрд╛рдП?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдХреНрд╕рд░ рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ рдЬрд╣рд╛рдБ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдИрдореЗрд▓ рдкрддреЗ (рдПрдХ рдбреЛрдореЗрди рд╕рд╣рд┐рдд) рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╕рдордп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд▓рддреА рд╣реЛрддреА рд╣реИред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛, рдИрдореЗрд▓ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдХрд┐рд╕реА рднреА рд╕рдВрднрд╡ "рд╣рдмрд░рдХрджреНрд░" рдХреЛ рджрд░реНрдЬ рдХрд░реЗрдВ, рдЬреЛ рдЖрд╕рд╛рдиреА рд╕реЗ regexp рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╣ рдбреЛрдореЗрди рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ :)

рд╡реИрд╕реЗ, рдЗрд╕ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░, рд╣рдо рд╕рдЪрдореБрдЪ рдмрд╕ рдКрдкрд░ рдЙрдбрд╝ рдЧрдП: рдирд┐рдЪрд▓рд╛ рд░реЗрдЦрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реАрдПрдордПрд╕ рдкрд░ рдЙрдард╛рдпрд╛ рдЧрдпрд╛, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рд╣рдордиреЗ рдИрдореЗрд▓ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред

рдХрд╛рд░рдг, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд╕реНрдкреИрдорд░ рдХрд╛ рдкрддрд╛ рдерд╛ред

рдЗрд╕рдХреЗ рдХрдИ рдХрд╛рд░рдг рдереЗ:

  1. рд╕реАрдПрдордПрд╕ рдХрд╛рдлреА рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рдФрд░, рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрдВрдЬреАрдХреГрдд рд╕реНрдкреИрдорд░ рд╣реИрдВред рдФрд░ рдХреНрдпрд╛ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ - рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЖрдк (рдФрд░ рдХрдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реИрд╕реЗ) - рдИрдореЗрд▓ рд╕рддреНрдпрд╛рдкрди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рднреА рдмрдХрд╡рд╛рд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреЙрдЯреНрд╕) рдпрд╣рд╛рдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  2. рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рдЧреНрд░рдВрдереЛрдВ рдХреЛ рдорд╛рдирдХ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рдХреБрд▓: рд╕реНрдкреИрдорд░ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрдврд╝ рдЧрдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╛рдПрдВ рдИрдореЗрд▓ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛, рдЬрд╣рд╛рдВ рд╣рдордиреЗ рдкрддреНрд░ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рд╕реНрдкреИрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХрдИ рдИрдореЗрд▓ рд╣рдорд╛рд░реЗ рдИрдореЗрд▓ рд╕реЗ рдЖ рд░рд╣реЗ рдереЗ, рдЙрди рдЧреНрд░рдВрдереЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрдИ рдмрд╛рд░ рдЕрдиреНрдп рдИрдореЗрд▓ рдкрддреЛрдВ рд╕реЗ рджреЗрдЦреЗ рдереЗ, рдФрд░ рд╕рд╛рде рд╣реА рдЙрдирдореЗрдВ рд╕реЗ рдХрд╛рдлреА рд╕рдВрдЦреНрдпрд╛ рдЧреИрд░-рдореМрдЬреВрдж рдИрдореЗрд▓ рдкрддреЛрдВ рдкрд░ рдЧрд┐рд░реА рдереАред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЗрд▓рд┐рдВрдЧ рдПрдбреНрд░реЗрд╕ рд╕рдордп-рд╕рдордп рдкрд░ рд╕реНрдкреИрдо рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдЕрдиреБрднрд╡, рдХреНрд░рдорд╢рдГ, рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рдбреЛрдореЗрди рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛, рд╕рд╛рде рд╣реА рдЙрд╕ рдкрд░ рдПрдХ рдореЗрд▓ рд╕реЗрд╡рд╛ (рдПрдХ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдПрдордПрдХреНрд╕ рд░рд┐рдХреЙрд░реНрдб) рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛, рдпрд╣реА рд╣реИ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рджрд░рдЕрд╕рд▓, рдЪреЗрдХ рдХрд╛ рд╕рд╛рд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рдкрдВрдЬреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдбреЛрдореЗрди рдХреЛ рдИрдореЗрд▓ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрдордПрдХреНрд╕ рдкрд░ рдХреНрдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдбрд╛рдХ рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рднрд╛рд░ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░, рд╡реИрд╕реЗ, рд╕реНрдкреИрдо рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдЖрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрд╣реБрдд рдХрдо рд╣реИ (рдЖрдЦрд┐рд░рдХрд╛рд░, рдЧреИрд░-рдореМрдЬреВрдж рдореЗрд▓ рдкрддреЗ рдкрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрддреНрд░ рднреЗрдЬрдирд╛ рд╕реНрдкреИрдо рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ)ред

PHP рдореЗрдВ, рд╡рд┐рдЪрд┐рддреНрд░ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд, рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

$email ="11@sdlkfjsdl.co.uk"; $domain = substr(strrchr($email, "@"), 1); $res = getmxrr($domain, $mx_records, $mx_weight); if (false == $res || 0 == count($mx_records) || (1 == count($mx_records) && ($mx_records[0] == null || $mx_records[0] == "0.0.0.0" ) ) ){ //   -  mx-   echo "No MX for domain: $domain"; }else{ // ,  MX-   ,      echo "It seems that we have qualify MX-records for domain: $domain"; } 

рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп "рд░рд╛рдХреНрд╖рд╕реА" рд╕рдордЭрд╛рдКрдВрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ getmxrr рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЗрд╕рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдереАрдВ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рдереАрдВред рдФрд░ рдпрджреНрдпрдкрд┐ рдореИрдВ рдЙрдиреНрд╣реЗрдВ php7.1 рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ - рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдБрдЪ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд╣реАрдВ рд╣реИ :)

рд░реВрдмреА рдкрд░, рдпрд╣ рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 domain = invite.email.split('@').last.mb_chars.downcase.to_s.force_encoding("UTF-8") # ,   .         UTF-8,     mail_servers = Resolv::DNS.open.getresources(domain, Resolv::DNS::Resource::IN::MX) if mail_servers.empty? # MX-.       false else true end 

рдЙрд╕реА рд╕рдордп, рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдИрдореЗрд▓ рдлрд╝реАрд▓реНрдб рдХрд╛ рдРрд╕рд╛ рдЪреЗрдХ рди рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реВрдЪрдирд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдкреИрдорд░реНрд╕ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ), рдмрд▓реНрдХрд┐ рдХрд╛рд░реНрдпрднрд╛рд░ рдореЗрдВ рдХрдореА рднреА рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдкрддреНрд░ рднреЗрдЬрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдПрдХ рдзреАрдореА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi434640/


All Articles