рдЦреБрдж рдХрд╛ рдЕрд╕реНрдерд╛рдпреА рдореЗрд▓: рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ

рдЕрдХреНрд╕рд░ рдирдП рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдореЗрд░реА рдЕрд╕реНрдерд╛рдпреА рдореЗрд▓ рд╕реЗрд╡рд╛ рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдореБрдЭреЗ рдХрд╛рдлреА рд░реЛрдЪрдХ рд▓рдЧрд╛ред

рдереЛрдбрд╝реА рдкреГрд╖реНрдарднреВрдорд┐
рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдореИрдВ рдПрдХ рдирд┐рдпрдорд┐рдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗ VPS рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдПрдХ рдорд╣реАрдиреЗ рдпрд╛ рдереЛрдбрд╝реЗ рд╕рдордп рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рджреВрд╕рд░реЗ VPS рдореЗрдВ рдЬрд╛рдирд╛ рдкрдбрд╝рд╛ред рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рдЯреИрд░рд┐рдл рдкреНрд▓рд╛рди рдФрд░ Ubuntu 16.04 рдерд╛ред рдЙрд╕ рд╕рдордп рд╕реЗ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдЖрдпрд╛ рдерд╛, рдЬреЛ рдЕрдиреБрднрд╡ рдХреА рдкреВрд░реА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдерд╛, рдореИрдВрдиреЗ рдЕрдкрдиреЗ VPS рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DigitalOcean рдХреЗ рдЙрддреНрдХреГрд╖реНрдЯ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд░реВрд╕реА рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реБрдП рд╣реИрдВ, рдЬреЛ рдореЗрд░реЗ рдЬреИрд╕реЗ, рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВред рдЕрдВрдЧреНрд░реЗрдЬреА рдЬрд╛рдирддрд╛ рд╣реИ)ред рдФрд░ рд╣рд╛рдБ, рдореЗрд░рд╛ рдкрд╣рд▓рд╛ VPS DO рдкрд░ рдерд╛, рдФрд░ рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдкрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ IP рдкрддреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ ILV рдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рддрд╣рдд рдЧрд┐рд░ рдЧрдпрд╛ред LAMP рд╕реЗрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ-рджреЛ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ VPS рдЯрд░реНрдорд┐рдирд▓ рдХреА рдереЛрдбрд╝реА рдмрд╣реБрдд рдЖрджрдд рд╣реЛ рдЧрдИ рдФрд░, рдЗрд╕рдХреЗ рдЖрдЧреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЕрд╕реНрдерд╛рдпреА рдореЗрд▓ рд╕реЗрд╡рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреИрдХрдПрдВрдб рдореЗрдВ рдЕрдиреБрднрд╡ рдерд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ PHP MySQL рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдИ-рдореЗрд▓ "рд╕реНрд╡рдпрдВ" рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдпрд╣ рдмрд╣реБрдд рджреВрд░ рдФрд░ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд▓реЗрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдЯреИрдм рдЦреЛрд▓реЗ, рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рднреА рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ред рд╣рд░ рдЬрдЧрд╣ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдПрдХ рдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд┐ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╡реАрдкреАрдПрд╕ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдИрдореЗрд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рдИрдореЗрд▓ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдерд╛ред

рдЗрдирдмреЙрдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ


рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЗ рд▓рд┐рдП, рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреЗ рдПрдХ рд▓реЗрдЦ рдиреЗ рдореЗрд░реА рдмрд╣реБрдд рдорджрдж рдХреА: habr.com/en/post/260429 ред рдореИрдВрдиреЗ рдЙрд╕рдХреА рдирдХрд╛рд░рд╛рддреНрдордХ рд░реЗрдЯрд┐рдВрдЧ рдХреА рдУрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдореИрдВ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж "рдорд╣рд╕реВрд╕" рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде "рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдХрд░реВрдВрдЧрд╛" рдореИрдВ Sendmail рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдпрд╛ред

рдлрд┐рд░ рдореИрдВрдиреЗ рдбреЛрдореЗрди рд╕реЗрдЯ рдХрд┐рдпрд╛ред DNS рд░рд┐рдХреЙрд░реНрдб:

example.com IN MX 5 mail.example.com
mail.example.com IN A XXX.XX.XXX.XXX (VPS рдЖрдИрдкреА рдкрддреЗ) рдореЗрдВ

рд╕рд░реНрд╡рд░ рдкрд░, @example.com vasya /etc/mail/virtusertable рдлрд╝рд╛рдЗрд▓ рдореЗрдВ /etc/mail/virtusertable , рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ ****@example.com рдкрд░ рдХрд┐рд╕реА рднреА рдкрддреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдд рд╕рднреА рдореЗрд▓ рд╡рд╛рд╕рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рд╣реИред

Php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рдореЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ /etc/aliases рдореЗрдВ рд▓рд╛рдЗрди vasya: "|php -q /home/vasya/mail.php" рдЬреЛрдбрд╝рд╛ vasya: "|php -q /home/vasya/mail.php" ред

рдХрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓реА рдореЗрд▓ рдХреЛ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдирд┐рдкрдЯ рд╕рдХрддрд╛ рд╣реВрдВред

рдЙрдкрд░реЛрдХреНрдд рд╡рд░реНрдгрд┐рдд рддрд░реАрдХреЗ рд╕реЗ php рдХреЛ рднреЗрдЬреЗ рдЧрдП рдХрдЪреНрдЪреЗ рдЗрдирдХрдорд┐рдВрдЧ рдореЗрд▓ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХреЛрдб рдореЗрдВ рдЕрддреНрдпрдВрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 $msg = file_get_contents("php://stdin"); 

рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдорд╛рдорд▓рд╛ рдореЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рд╕реБрд▓рдн рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реИред Google рдиреЗ рдореБрдЭреЗ PHP рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдореЗрд▓ рдлреЙрд░реНрдореЗрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдХрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХреАред рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдореИрдВрдиреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдШрдЯрдХреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдкрд░ рдЦреАрдВрдЪрд╛, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореБрдЭреЗ рдХрдо рдмреЛрдЭрд┐рд▓ рд▓рдЧ рд░рд╣рд╛ рдерд╛: github.com/zbateson/mail-mime-parser ред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореБрдЭреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рд╡рд╣ рдереА PHP - рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд▓реЛрдХрдкреНрд░рд┐рдп рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ред рдмреЗрд╢рдХ, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдореЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛ред

Zbateson / рдореЗрд▓-рдорд╛рдЗрдо-рдкрд╛рд░реНрд╕рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдореЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:

 <?php require("vendor/autoload.php"); use ZBateson\MailMimeParser\MailMimeParser; use ZBateson\MailMimeParser\Message; $msg = file_get_contents("php://stdin"); $parser = new MailMimeParser(); $message = Message::from($msg); 

рдЪреВрдВрдХрд┐ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА рдореЗрд▓ рдореЗрдВ рдХрдИ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрднрд╡ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:

 $to = $message->getHeader('To'); $email = $to->getAddresses()[0]->getEmail(); 

рдЪрд░ $ рдИрдореЗрд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рдкрддреНрд░ vasyaorpetya@example.com рдХреЗ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХрд╛ рдкрддрд╛ рд╣реИред

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкрддреНрд░реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рддрд░реАрдХреЗ рд╣реИрдВ:

 $from = $message->getHeader('From')->getEmail(); $subject = $message->getHeaderValue('Subject'); $msg_text = $message->getTextContent(); $msg_html = $message->getHtmlContent(); 

рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ


рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЕрд╕реНрдерд╛рдпреА рдореЗрд▓ рдмреЙрдЯ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

  1. рдЕрдиреБрд░реЛрдз рдкрд░ рдПрдХ рдирдпрд╛ рдЕрд╕реНрдерд╛рдпреА рдИрдореЗрд▓ рдкрддрд╛ рдЬрд╛рд░реА рдХрд░реЗрдВ
  2. рдЗрд╕ рдИрдореЗрд▓ рдХреЗ рд▓рд┐рдП рдЗрдирдмреЙрдХреНрд╕ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВ рдЬрдмрдХрд┐ рдореЗрд▓ рдкрддрд╛ рдорд╛рдиреНрдп рд╣реИ
  3. рдирд╡реАрдиреАрдХреГрдд рдИрдореЗрд▓ рдкрддрд╛

рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕реЗ рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдФрд░ рдХрдИ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рддрд░реАрдХрд╛ рд╣реИ рд╡реЗрдмрд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдХреЗрд╡рд▓ https рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрд╕рдПрд╕рдПрд▓ рдбреЛрдореЗрди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдбреАрдУ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИред

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

рдЕрд╕реНрдерд╛рдпреА рдИрдореЗрд▓ рдкрддреЛрдВ рдХреА рдкреАрдврд╝реА рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреНрд░рдо рдореЗрдВ рдЕрдЧрд▓реЗ рдкрддреЗ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИред рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдИрдореЗрд▓ рдкрддреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдИ рд╣реИ, рдЬрд╣рд╛рдБ рдСрдЯреЛ-рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде int рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЖрдИрдбреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрддреЗ рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЖрдИрдбреА рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдПрдХ рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреВрд░реЗ рд▓реИрдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ "рд╕рдВрдЦреНрдпрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╕рдВрдЦреНрдпрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 26 рдЕрдХреНрд╖рд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреА рд▓рдВрдмрд╛рдИ рдореЗрдВ рдЕрдЪреНрдЫреА рдХрдореА рджреЗрддреЗ рд╣реИрдВред рд╕рдВрднрд╡рддрдГ, рдореИрдВ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдкрддреЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░реЛрдВ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдХреБрдЫ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рддреАрди рд▓реИрдЯрд┐рди рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред

рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЖрдИрдбреА рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп:

 // $alphabet = explode(",", "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"); //   @grayfolk: $alphabet = range('a', 'z'); function num2str($n, $a) { // $a -  $b = count($a); $r = 0; $x = ""; while ($n) { $r = $n%$b; $n = ($n-$r)/$b; $x .= $a[$r]; } return strrev($x); } function str2num($s, $a) { $n = 0; $b = count($a); $s = strrev($s); for ($i = 0; $i < strlen($s); $i++) { $n += array_search($s[$i], $a) * pow($b, $i); } return $n; } 

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

рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдЖрдИрдбреА, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдФрд░ рдореЗрд▓рдмреЙрдХреНтАНрд╕ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рдордп рдХреЗ рд╕рд╛рде рдИрдореЗрд▓ рдкрддреЗ рдХреА рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реЗрдЦрд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВред

рдРрд╕рд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЗрдирдХрдорд┐рдВрдЧ рдореЗрд▓ рднреА рд╕реНрдЯреЛрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ - рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдФрд░ рд╕рднреА рдХреЛ рднреЗрдЬ рджрд┐рдпрд╛ред рд▓реЗрдХрд┐рди html рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдХреНрдпрд╛? рдЙрдиреНрд╣реЗрдВ рдЪреИрдЯ рд╕рдВрджреЗрд╢ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ HTML рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд▓рд┐рдВрдХ рднреЗрдЬрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рдЖрдИрдбреА рдФрд░ рдЕрдЧрд▓рд╛ рдЙрддреНрдкрдиреНрди рдкрд╛рд╕рд╡рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рддрдп рд╕рдордп рдкрд░ рдХреНрд░рд╛рдЙрди рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ HTML рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддреА рд╣реИ рдЬреЛ рдПрдХ рдШрдВрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдереЗред

рдмрд╛рдж рдореЗрдВ, рдмреЙрдЯ рдХреЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ, рдореИрдВрдиреЗ рдмрдЯрди рдЬреЛрдбрд╝ рджрд┐рдП рдЬреЛ рдореЗрд▓рдмреЙрдХреНрд╕ рдХреА рд╡реИрдзрддрд╛ рдХреЛ 10 рдпрд╛ 60 рдорд┐рдирдЯ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдПрдХ рдмрдЯрди рдЬреЛ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕реЗ рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ред

рдЪреВрдВрдХрд┐ рд╣рдо рдПрдХ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ рдореЗрд▓рдмреЙрдХреНрд╕реЗрдЬрд╝ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рднреВрд▓ рдЧрдПред рдЬрд╛рд░реА рдореЗрд▓рдмреЙрдХреНрд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ; рд╢реЗрд╖ рд╕рдордп, рд╕рдВрднрд╡ рд╕реНрдкреИрдо рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рд╢реБрднрдХрд╛рдордирд╛рдПрдВ:

  • рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдПрдВ [рдХрд┐рдпрд╛]
  • рдХреНрд▓рд┐рдХ / рдХрдорд╛рдВрдб рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдореЗрдВ рдореЗрд▓ рдбреЛрдореЗрди рдХрд╛ рддреНрд╡рд░рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗрдЯ рдХрд░реЗрдВ (рдХреИрд╕реЗ?)

рд╕рдВрджрд░реНрдн


рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ: @tmpmailbot

Sendmail рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд▓реЗрдЦ

рдИрдореЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PHP рд▓рд╛рдЗрдмреНрд░реЗрд░реА

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


All Articles