PHP рдЗрдирдмрд╛рдЙрдВрдб рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ

рдореИрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдореЗрд▓ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ рдореЗрд▓ рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдПрдХ рдиреБрд╕реНрдЦрд╛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЗрд╕ рдмрдВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдмрд╛рдЙрдВрд╕ рдИрдореЗрд▓ рд░рд┐рдЯрд░реНрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдЖрдБрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ: рдкреВрд░реНрд╡-рдкреНрд░реЗрд╖рд┐рдд рдореЗрд▓ рдкреНрд░реЗрд╖рдХ рдХреЛ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдиреНрдп рд╕рд╛рдЗрдЯреЛрдВ рдкрд░, рдореИрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рдорд┐рд▓рд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реМрдВрдкреЗ рдЧрдП рдореЗрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рднреЗрдЬрдХрд░ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ред

рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ?

  1. рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореЗрд▓ рд╕рд░реНрд╡рд░ рд╣реИред

    рдЖрдк рдЙрдкрдбреЛрдореЗрди рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдореЗрд▓рд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╕ DNS рдореЗрдВ 2 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдХрд░реЗрдВ:
     rob.mydomain.ru. A ip-- rob.mydomain.ru. MX rob.mydomain.ru. 

  2. рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрдкрдирд╛рдо / рдЖрджрд┐ / рдЙрдкрдирд╛рдо рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
    рд╡рд╣рд╛рдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ:
    robot: "|php -q ///.php"
    robot рдореЗрд▓рдмреЙрдХреНрд╕ рдХрд╛ рдирд╛рдо рд╣реИ;
    ///.php - рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ ///.php рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреА рд╣реИред

    рд╕рдВрдкрд╛рджрди рдХреЗ рдмрд╛рдж newaliases рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ

  3. main.cf рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ main.cf рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ:
    recipient_delimiter = +

    рдлрд┐рд░ рдкрддреЗ рдореЗрдВ рдпрд╣ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╕рд╛рдВрдХреЗрддрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛: robot+someId@rob.mydomain.ru

    рдРрд╕реЗ рдкрддреЛрдВ рдкрд░ рд╕рднреА рдкрддреНрд░ рднреА рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
    someId рдпреВрдЬрд░ рдЖрдИрдбреА рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
  4. рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рд╕рдВрджреЗрд╢ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдПрдВ:
     <?php /** *       * *   smtp-  RECIPIENT, SENDER   postfix *    $_ENV;   : * http://www.postfix.org/local.8.html  EXTERNAL COMMAND DELIVERY */ //    STDIN $msg = file_get_contents("php://stdin"); //  $sender = getenv('SENDER'); //  $recipient = getenv('RECIPIENT'); //  list($header, $body) = explode("\n\n", $msg, 2); //   Subject:  From: $subject = ''; $from = ''; $headerArr = explode("\n", $header); foreach ($headerArr as $str) { if (strpos($str, 'Subject:') === 0) { $subject = $str; } if (strpos($str, 'From:') === 0) { $from = $str; } } //      : $logMsg = "=== MSG ===\n"; $logMsg .= "SENDER: $sender\n"; $logMsg .= "RECIPIENT: $recipient\n"; $logMsg .= "$from\n"; $logMsg .= "$subject\n\n"; $logMsg .= "$msg\n"; file_put_contents('/tmp/inb.log',$logMsg, FILE_APPEND); 
  5. robot@rob.mydomain.ru рдХреЛ рдПрдХ рдИрдореЗрд▓ рднреЗрдЬреЗрдВ рдФрд░ рд▓реЙрдЧ /tmp/inb.log рдореЗрдВ рджреЗрдЦреЗрдВ

рд╣реЛ рдЧрдпрд╛!

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


All Articles