ΠΠΎΠ»ΡΡΠ΅ ΡΠ΅ΡΡΡΠ΅Ρ
Π»Π΅Ρ Π½Π°Π·Π°Π΄, Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ
Π½ΡΠΆΠ΄ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡ, Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΈΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· smtp. ΠΡΠΎ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ SendMailSmtpClass. Π§Π΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΡΠ΅Π² ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΡΠ°ΡΡΠΈ ΠΎ Π½Π΅ΠΌ, Π½Π° Π±Π»ΠΎΠ³Π΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»Π°ΡΡ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΡ, ΠΈ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅, Π±ΡΠ»ΠΈ Π½Π° ΡΠ΅ΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΈΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· smtp. Π‘ΠΏΡΡΡΡ Π΅ΡΠ΅ 8-9 ΠΌΠ΅ΡΡΡΠ΅Π² Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΈΡΠ°Π» ΠΊΠ»Π°ΡΡ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ ΡΠΌΠΎΠ³ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΈΡΡΠΌΠ΅ ΡΠ΅ΡΠ΅Π· smtp Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ssl. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π»ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ°ΠΉΡΠ°. Π Π΄Π°ΠΆΠ΅ ΡΠΏΡΡΡΡ 4 Π³ΠΎΠ΄Π° ΡΠ΅ΠΌΡ Π½Π΅ ΡΠ΅ΡΡΠ΅Ρ ΡΠ²ΠΎΠ΅ΠΉ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΎ ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ ΡΡΠ°ΡΡΡΠΌΠΈ. Π ΡΠ°ΠΊΠΆΠ΅, Π΅ΡΠ»ΠΈ Π²Π΅ΡΠΈΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠ΅, ΡΠΎ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠ΅ΡΡΡ ΡΡΠΈ Π΄Π²Π΅ ΡΡΠ°ΡΡΠΈ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π²ΡΡ
ΡΡΡΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ.
ΠΡΡ
ΠΎΠ΄ΠΈΡ, ΡΡΠΎ ΡΠ΅ΠΌΠ° Π½ΡΠΆΠ½Π°Ρ ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Π΅Π΅ Π½Π΅ ΡΠ³Π°ΡΠ°Π΅Ρ. ΠΠΎ, ΡΡΠ΄Ρ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ ΠΈ ΠΏΠΈΡΡΠΌΠ°ΠΌ Ρ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½Π΅ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ Π½Π° ΠΏΠΎΡΡΡ, ΡΠΎ ΠΊΠ»Π°ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. Π‘Π°ΠΌΡΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ»Π°ΡΡ SendMailSmtpClass ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π½Π΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ SendMailSmtpClass. ΠΠ΅ΡΡΠΈΡ 1.1
ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΠΎΠΌΡ Π»Π΅Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΠ°ΡΡ Π²ΡΡ ΡΡΠ°ΡΡΡ, ΡΡΠ°Π·Ρ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΎΠ½ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π° github: ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π°ΡΡ ΠΈΠ²ΠΎΠΌ: ΡΠΊΠ°ΡΠ°ΡΡ.
ΠΠ΅Π±ΠΎΠ»ΡΡΠΈΠ΅, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π² SendMailSmtpClass
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π±ΡΠ»Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½Π° ΡΠ°ΠΌΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΈΡΡΠΌΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΊ smtp-ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ HELO, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ Π² ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ EHLO. ΠΡΠ»ΠΈ Π½Π° EHLO Π½Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°, ΡΠΎ ΡΠΆΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° HELO. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΡΠΌΠ΅Π½ΡΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½Π° smtp ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
.
ΠΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΠΊΠ° ΡΠΏΡΠΎΡΡΠΈΠ»Π° ΠΊΠΎΠ΄ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΈΡΡΠΌΠ°. Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΌΠΈΠΌ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ β ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
Π’ΡΠ΅ΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΈΡΡΠΌΠ° ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ smtp ΡΠ½Π΄Π΅ΠΊΡΠ°:
require_once "SendMailSmtpClass.php"; // ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ»Π°ΡΡ $mailSMTP = new SendMailSmtpClass('zhenikipatov@yandex.ru', '***', 'ssl://smtp.yandex.ru', 465, "UTF-8"); // $mailSMTP = new SendMailSmtpClass('Π»ΠΎΠ³ΠΈΠ½', 'ΠΏΠ°ΡΠΎΠ»Ρ', 'Ρ ΠΎΡΡ', 'ΠΏΠΎΡΡ', 'ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΈΡΡΠΌΠ°'); // ΠΎΡ ΠΊΠΎΠ³ΠΎ $from = array( "ΠΠ²Π³Π΅Π½ΠΈΠΉ", // ΠΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ "test@vk-book.ru" // ΠΏΠΎΡΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ); // ΠΊΠΎΠΌΡ $to = 'admin@vk-book.ru, ipatov@mega-dev.ru'; // ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠΈΡΡΠΌΠΎ $result = $mailSMTP->send($to, 'Π’Π΅ΠΌΠ° ΠΏΠΈΡΡΠΌΠ°', 'Π’Π΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°', $from); // $result = $mailSMTP->send('ΠΠΎΠΌΡ ΠΏΠΈΡΡΠΌΠΎ', 'Π’Π΅ΠΌΠ° ΠΏΠΈΡΡΠΌΠ°', 'Π’Π΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°', 'ΠΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΏΠΈΡΡΠΌΠ°'); if($result === true){ echo "Done"; }else{ echo "Error: " . $result; }
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΈΡΠ΅ΠΌ Π² ΡΠ°Π·Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SendMailSmtpClass
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° β ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΈΡΡΠΌΠ° Π² ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°Ρ
. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ utf-8 ΠΈ windows-1251. ΠΡΠΎ Π΄Π²Π΅ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°, Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Ρ Π½Π΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ°Ρ
ΠΏΠΎΡΡΡ. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΡ-ΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΎΠΊ, ΡΠΎ ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Ρ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΈΠΏΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΈΡΡΠΌΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠΊΠ°Π·Π°ΡΡ Π½ΡΠΆΠ½ΡΡ:
// Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° utf-8 $mailSMTP = new SendMailSmtpClass('zhenikipatov@yandex.ru', '***', 'ssl://smtp.yandex.ru', 465, "UTF-8");
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· smtp Ρ ΠΏΠΎΠΌΠΎΡΡΡ SendMailSmtpClass
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ° ΡΡΠ°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π² ΠΏΠΈΡΡΠΌΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ ΡΡ ΠΈΡΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊ ΠΏΠΈΡΡΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΈ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°. ΠΠΎΡ ΡΠ°ΠΊ:
// Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Ρ $mailSMTP->addFile("test.jpg"); $mailSMTP->addFile("test2.jpg"); $mailSMTP->addFile("test3.txt");
ΠΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° github: ΡΡΡΠ»ΠΊΠ°.
ΠΠ»Ρ ΡΠ΅Ρ , Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° Π―Π½Π΄Π΅ΠΊΡ
ΠΡΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² Π²Π°Ρ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ Π―Π½Π΄Π΅ΠΊΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈΡΡ. Π’ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅: SendMailSmtpClass ΠΈ SMTP Yandex.
ΠΠΎΡΠ»Π΅ΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠΈΡΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅ΠΈ, ΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΈΡΠΈΡΠ΅ ΠΎ Π½ΠΈΡ
.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π³ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· 4, Π²ΡΠΉΠ΄Π΅Ρ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° :)
Hi there would you mind letting me know which webhost you’re using?
I’ve loaded your blog in 3 completely different
web browsers and I must say this blog loads a lot quicker then most.
Can you recommend a good web hosting provider at a
reasonable price? Many thanks, I appreciate it!
Hi! I use beget.com
«Π Π΄Π°ΠΆΠ΅ ΡΠΏΡΡΡΡ 4 Π³ΠΎΠ΄Π° ΡΠ΅ΠΌΠ― Π½Π΅ ΡΠ΅ΡΡΠ΅Ρ ΡΠ²ΠΎΠ΅ΠΉ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ,» ΠΡΠ΅ΠΏΡΡΠΊΡ ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅.
ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ, Π° ΠΏΠΈΡΡΠΌΠ° Π² «ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ » Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ?
Π ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π² ΡΠΊΡΡΡΡΡ ΠΊΠΎΠΏΠΈΡ Π°Π΄ΡΠ΅Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ?
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ!
ΠΠ΅Ρ, Π² ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΏΠΈΡΡΠΌΠ° Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ.
Π‘ΠΊΡΡΡΡΡ ΠΊΠΎΠΏΠΈΡ ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½Π΅Π»ΡΠ·Ρ — Π½Π΅ Π±ΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΊΠ°ΠΊ-ΡΠΎ Π½Π΅ ΠΏΠΎΠ΄ΡΠΌΠ°Π» ΠΎΠ± ΡΡΠΎΠΌ. ΠΠΎΠ³Π΄Π° Π΄ΠΎΠ±Π΅ΡΡΡΡ Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Ρ ΡΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π». Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΠ΄Π΅Ρ!
ΠΡΠ»ΠΈ Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π΅ΡΠ΅ Π΅ΡΡΡ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°, ΡΠΎ ΠΏΠΈΡΠΈ — ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π²ΡΠ΅ ΡΡΠ΅ΡΡΡ ΠΈ Π²Π½Π΅ΡΡΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΠ°ΠΌ.
ΠΠΎΠΏΡΠΎΠ±ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠ»Π°ΡΡΠ° «Bcc:» ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΊΡΡΡΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ.
Π§Π΅ΡΠ΅Π· ΠΏΠΎΡΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΈΡΡΠΌΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ, ΠΏΠΈΡΠ΅Ρ To: undisclosed-recipients
ΠΠΈΠ΄ΠΈΠΌΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ «ΠΠΎΠΌΡ» Π½Π΅ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ». ΠΠ΅ Π½Π° ΡΡΠΎ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅ΡΠΈΠ» ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ.
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! ΠΡΠΈΠ½ΡΠ», ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΡΡΠΎΠ²ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ
ΠΠΎΠ±Π°Π²Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ:
$headers.= «To: «.$mailTo.»\r\n»;
Π Π±ΡΠ΄Π΅Ρ ΡΠ΅Π±Π΅ ΡΡΠ°ΡΡΡΠ΅!
$headers.= Β«To: Β«.$mailTo.Β»\r\nΒ»;
Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ:
Notice: Undefined variable: mailTo in /…/SendMailSmtpClass/SendMailSmtpClass.php on line 200
ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° getContentMail, Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $mailTo. ΠΠ΅ ΡΡΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ½Π°ΡΠ°Π»Π°
Π― Π΄ΡΠΌΠ°Π» ΡΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΎΠ±ΡΡΡΠ½ΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ :)
ΠΠΎΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄: https://212d.ru/sender/SendMailSmtpClass.php.zip
ΠΠ° Π±Π»ΠΎΠ³ Π·Π°Ρ ΠΎΠ΄ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ :) ΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΠΠ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ — ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ!
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΊΠ»Π°ΡΡ! ΠΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΡΡΠΊΠ°.
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΊΠ° Ρ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°. Π ΠΏΠΈΡΡΠΌΡ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΡ ΡΠ°ΠΉΠ» jpg, Π° ΠΎΠ½ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ, Ρ ΠΎΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ. Π Π² web ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΡΡΠΈΠΊΠ° Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ…
ΠΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ?
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ!
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ» ΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΏΠΎΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠΎΠ΄ — ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΠΌΠ»ΡΡΡ ΡΠ΅Π³Π°ΠΌΠΈ pre, ΡΡΠΎΠ±Ρ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»Ρ Π½Π΅ ΠΏΠΎΡΠ΅Π·Π°Π»ΠΈΡΡ :)
Hi, ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π½Π° ΡΠ½Π΄Π΅ΠΊΡ. ΠΠΎΠ»ΡΡΠ°Ρ: Error: E-mail didn’t sent
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈ Π½Π° mail.ru: Error: E-mail didnβt sent
ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ! ΠΠ»Ρ mail.ru ΠΊΡΠΈΡΠΈΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ Π±ΡΠ» ΡΠΊΠ°Π·Π°Π½ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ smtp, ΠΈΠ½Π°ΡΠ΅ Π½Π΅ Ρ ΠΎΡΠ΅Ρ ΡΠ»Π°ΡΡ.
Π‘ ΡΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ — ΠΎΠ½ ΡΠ»Π΅Ρ ΠΏΠΈΡΡΠΌΠΎ Ρ Π»ΡΠ±ΡΠΌ ΠΏΠΎΡΡΠΎΠ²ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ, ΠΊΡΠΎΠΌΠ΅ mail.ru
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎΠ±Ρ Π²ΠΎΡ ΡΡΡ Π±ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ Π²Π΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
ΠΠ°, Π²ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ. Π§Π΅ΡΠ΅Π· mail ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΏΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ — ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎ Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ°ΡΠΊΠ»Π°Π΄Π΅. Π§Π΅ΡΠ΅Π· yandex ΡΠ»Ρ Π½Π° mail. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎ,ΡΡΠΎ Π½Π΅ ΠΊΠΎΠΌΠΈΠ»ΡΡΠΎ: Π² Π²Π΅Π± ΠΏΠΎΡΡΠ΅ Π½Π° mail.ru ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΠΊΠΎΠ΅: To: undisclosed-recipients (ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π»ΠΈ Π»ΡΠ΄ΠΈ Π²ΡΡΠ΅).
Π§ΡΠΎ Π·Π° Π²ΡΠ΅ΠΌΡ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΡΠ°Π²ΠΈΡ? ΠΠΎΡΡ Π½Π΅ GMT+003?
ΠΠΎΡΡ Π½Π° GMT+004 Π½Π°ΡΡΡΠΎΠ΅Π½) Π₯ΠΎΡΡ Ρ ΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΡ ΠΠΎΡΠΊΠΎΠ²ΡΠΊΠΎΠ΅. Π§Π΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°Π» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ 5 Π»Π΅Ρ, ΠΏΠΎΠΊΠ° ΠΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ)
Π Π½Π° Π°Π΄ΡΠ΅Ρ address@gmail.com ΡΡΠΎ-ΡΠΎ ΡΠΎΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ (ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ΅ΡΠ΅Π· ΡΠ½Π΄Π΅ΠΊΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ).
ΠΡΠ» Π½Π΅ ΠΏΡΠ°Π²(ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ gmail). ΠΡΠΈΠ±ΠΊΠ° Π² Π°Π΄ΡΠ΅ΡΠ΅ Π±ΡΠ»Π°. ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π£ ΠΌΠ΅Π½Ρ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½ΠΈΡΠ΅Π³ΠΎ, Π²ΡΠ΄Π°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°:
Error: .
ΠΠΎΠ±Π°Π²ΠΈΠ» echo Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°:
if(!$socket = @fsockopen($this->smtp_host, $this->smtp_port, $errorNumber, $errorDescription, 30)){
echo $errorNumber.».».$errorDescription;
throw new Exception($errorNumber.».».$errorDescription);
}
ΡΡΠ°Π»Π° Π²ΡΡ ΠΎΠ΄ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠ°
Error: Autorization error
Π― ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ Π½Π° smtp ΡΠ΅ΡΠ²ΠΈΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ, ΠΈ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π°Π΄ΡΠ΅Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ? ΠΠ° ΡΡΠΈΠΊ Π·Π°Ρ ΠΎΠΆΡ Ρ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π° Π²ΠΎΡ ΠΏΠΎΠΏΡΡΠΊΠ° Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠ»Π°ΡΡ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ°.
require_once «SendMailSmtpClass.php»;
$mailSMTP = new SendMailSmtpClass(‘box1@mail.ru’, ‘12345’, ‘ssl://smtp.mail.ru’, 465, «UTF-8»);
$from = array(
«Alex»,
«box1@mail.ru»
);
$to = ‘box2@ya.ru’;
$result = $mailSMTP->send($to, ‘Π’Π΅ΠΌΠ° ΠΏΠΈΡΡΠΌΠ°’, ‘Π’Π΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°’, $from);
Π‘ΠΌΠ΅Π½ΠΈΠ» ΡΠ΅ΡΠ²ΠΈΡ mail.ru Π½Π° yandex.ru ΠΈ Π²ΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. ΠΠ° mail.ru Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ ΠΊ Π΄ΠΎΠΌΠ΅Π½Ρ, Π° ΠΏΠΎΡΠΎΠΌ Π΅ΡΠ΅ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ MX-Π·Π°ΠΏΠΈΡΠΈ Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, Π½ΠΎ Ρ Π½Π΅ ΡΡΠ°Π» Π·Π°ΠΌΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ. Π Π΄Π°, Ρ ΡΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΠΌΠ°ΠΉΠ» Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΠΏΠ΅ΡΠ°Π»ΡΠΊΠ°.
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ, Ρ ΠΌΠ΅Π½Ρ ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΠ° — ΠΎΡΠΈΠ±ΠΊΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡ ΠΊΠΎ Π³ΡΠ³Π» ΠΏΠΎΡΡΠ΅, Error of command sending: RCPT TO Π½Π°ΡΠ΅Π» ΡΡΡΠΎΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ½ΡΠ»( ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅Π΅
ΠΎΠΉ, Π½Π΅ ΠΎΡΠΈΠ±ΠΊΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π° ΡΠ° ΠΊΠΎΡΠΎΡΠΎΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»)
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ!
ΠΠΎΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠΎΠ΄ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠΈΠΊΠΈ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ. Π ΡΠΎ ΡΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ Π² ΡΠ΅ΠΌ Π΄Π΅Π»ΠΎ. Π’Π°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ ΠΊΠΎΠΌΡ ΡΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ Π°Π΄ΡΠ΅ΡΠ°ΡΡ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $to ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠΈΠΊ Π΄Π»Ρ ΡΠ΅ΡΡΠ°. Π ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ΄Π° ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡΡΡ. Π $login Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ? Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ ΡΡΡ: $to = «$login»;
ΠΎΠΎΠΎ ΠΏΠΎΠ·ΠΎΡ Π½Π° ΠΌΠΎΡ Π³ΠΎΠ»ΠΎΠ²Ρ) Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $email ΠΏΠΎΡΡΠ°Π²ΠΈΠ» $login) ΠΎΠ³ΡΠΎΠΎΠΌΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ) ΠΏΡΠΎΡΠ΅ΡΡΠΈΠ» ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ — ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΠΏΠΎΠ½ΡΠ», ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΠ» Π΅ΠΌΠ°ΠΉΠ» ΠΈ Π²ΡΠ΅ ΠΏΠΎΡΠ»ΠΎ)) Π΅ΡΠ΅ ΡΠ°Π· ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π±ΡΡΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈ Π²Π°Ρ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ!)
ΠΡΠ΅Π³Π΄Π° ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°) ΠΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! Π ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π° ΡΠ°Π±ΠΎΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ nsmail.work.ru Π±Π΅Π· Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ 25 ΠΏΠΎΡΡΡ.
Π£ΠΊΠ°Π·ΡΠ²Π°Ρ $mailSMTP = new SendMailSmtpClass(«»,»», ‘nsmail.obespechenie-vniief.ru’, 25, «UTF-8»);
ΠΠΈΡΠ΅Ρ: ΠΡΠΈΠ±ΠΊΠ°: Autorization error
ΠΡΠ»ΠΈ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ public function __construct($smtp_username = «», $smtp_password = «», $smtp_host, $smtp_port = 25, $smtp_charset = «utf-8») — ΡΠ° ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠΎ Π΅ΡΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ
fputs($socket, «AUTH LOGIN\r\n»);
if (!$this->_parseServer($socket, «334»)) {
fclose($socket);
throw new Exception(‘Autorization error’);
}
fputs($socket, base64_encode($this->smtp_username) . «\r\n»);
if (!$this->_parseServer($socket, «334»)) {
fclose($socket);
throw new Exception(‘Autorization error’);
}
fputs($socket, base64_encode($this->smtp_password) . «\r\n»);
if (!$this->_parseServer($socket, «235»)) {
fclose($socket);
throw new Exception(‘Autorization error’);
}
Π’ΠΎ ΠΏΠΈΡΡΠΌΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ. Π― ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΠ»Π°?
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! ΠΠ°, ΠΡ Π²ΡΠ΅ Π²Π΅ΡΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΊΠ»Π°ΡΡΠ°. Π Π½Π΅ΠΌ Π½Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ° Π±Π΅Π· Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. Π ΠΊΠΎΠ΄, ΡΡΠΎ ΠΡ ΡΠ±ΡΠ°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Ρ smtp Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ — ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π° ΠΠ°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! ΠΡΡΠ°ΡΡΡ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π±Ρ. ΠΡΠ΄Π°ΡΡ «ΠΠΈΡΡΠΌΠΎ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ. ΠΡΠΈΠ±ΠΊΠ°: .»
ΠΠΎΠ΄:
require_once "SendMailSmtpClass.php";
$mailSMTP = new SendMailSmtpClass('aveteamsup@gmail.com', '*****', 'ssl://smtp.gmail.com', 'Ave Team', 465, "UTF_8");
$headers= "ΠΠ°ΠΊΡΠ½ΡΠΈΡΡ ΡΠ΅ΡΡΡΡΠ°ΡΡΡ\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n"; // ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΈΡΡΠΌΠ°
$headers .= "From: Ave Team \r\n"; // ΠΎΡ ΠΊΠΎΠ³ΠΎ ΠΏΠΈΡΡΠΌΠΎ*/
$from = array(
"Ave Team", // ΠΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ
"aveteamsup@gmail.com" // ΠΏΠΎΡΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ
);
$to=$mail;
$result = $mailSMTP->send($to, 'Π Π΅ΡΡΡΡΠ°ΡΡΡ', 'Π’Π΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°', $from);
if($result === true){
echo "ΠΠΈΡΡΠΌΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ";
}else{
echo "ΠΠΈΡΡΠΌΠΎ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ. ΠΡΠΈΠ±ΠΊΠ°: " . $result;
}
ΠΠ΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°?
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ!
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ «UTF_8» Π½Π°ΠΏΠΈΡΠ°ΡΡ «UTF-8», Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΈΡΡΠΌΠΎ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ smtp-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ
ΠΡΡΠ°Π»ΡΡ Π·Π°Π²Π΅ΡΡΠΈ 1.0 ΠΊΠΈΠ΄Π°Π»ΠΎ «error of command sending: RCPT TO»
ΠΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Ρ ΠΎΡΡΠΈΠ½Π³Π΅ ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π° Π½Π° Π΄ΡΡΠ³ΠΎΠΌ Π½Π΅Ρ (error: 0)?
ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΅Π±Π°ΠΆΠΈΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ SERVER_NAME Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ
ΠΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΠΏΡΡ Π² php ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΠΎΠ»ΡΡΠΎΠΉ, Π΄Π²Π° Π΄Π½Ρ ΠΈΡΠΊΠ°Π» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΏΠΈΡΠ΅ΠΌ Ρ localhost ΠΈΠ· php (MAMP), ΡΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ mail() Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΠ°Ρ ΠΎΠ΄ΠΈΠ» Π»ΠΈΠ±ΠΎ ΡΡΠΆΠ΅Π»ΡΠ΅, Π»ΠΈΠ±ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ Π·Π°Π³Π»ΡΡΠΊΠΈ Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ Π² ΡΠ°ΠΉΠ».
ΠΠΎ ΠΠ°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ!
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅,
Π£ ΠΌΠ΅Π½Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠΈΠΏΠΈΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°. ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ e-mail ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠΊΡΠΈΠΏΡ Task Scheduler’ΠΎΠΌ Π² Windows 7. ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°Ρ ΠΊΠ»Π°ΡΡ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ° ΡΠ΅Π΄ΡΠ»Π΅ΡΠΎΠΌ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
«Php notice: Undefined index: SERVER_NAME in f:\server\ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ\SendMailSmtpClass.php on line 77»
Error: Error of command sending: HELO
Π‘ΠΊΡΠΈΠ½ΡΠΎΡ: https://prnt.sc/kav90s
ΠΠΎ Π΅ΡΠ»ΠΈ Π΄Π΅ΡΠ³Π°ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· Π±ΡΠΎΡΠ·Π΅ΡΠ° ΠΏΠΎΠ΄ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ Π°ΠΏΠ°ΡΠ΅ΠΌ, ΡΠΎ Π²ΡΠ΅ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ (ΠΏΠΈΡΡΠΌΠ° ΡΡ ΠΎΠ΄ΡΡ, ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅Ρ).
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΠΈΠ½Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ SERVER_NAME.
Undefined index: SERVER_NAME
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΏΠΎΠ΄ΠΏΡΠ°Π²ΠΈΡΡ — ΠΏΡΠΎΡΡΠΎ ΡΡΠΊΠ°ΠΌΠΈ ΡΠ°ΠΌ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Ρ ΠΎΡΡ: localhost ΠΈΠ»ΠΈ 127.0.0.1.ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ, ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ timeout? Π ΡΠΎ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π½Π°Π·Π°Π΄ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ timeout.
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! SMTP-ΡΠ΅ΡΠ²Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ timeout ΠΈΠ»ΠΈ Π½Π° Π²Π°Ρ ΡΠΊΡΠΈΠΏΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅? ΠΡΠ»ΠΈ smtp Π²Π΅ΡΠ½ΡΠ»ΠΎ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π½Π° ΡΠ°ΡΡΠΈ. Π Π΅ΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΡΠΎ ΡΡΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π² apache ΠΈ php.ini. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ set_time_limit
ΠΡΠ΅ΠΊΡΠ°ΡΠ½Π°Ρ ΠΈΠ΄Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ½Π΅ Π²ΡΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ, Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ΅ΠΌ Π² ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅? ΠΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΠΈΡΠ° Π±ΡΠ»Π° Π±Ρ.
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! Π ΡΡΠΎΠΌ Π³ΠΎΠ΄Π° Π½Π΅Ρ ΡΠΎΠ»ΠΊΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π±Π»ΠΎΠ³ΠΎΠΌ ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠΌ smtp Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ( Π‘Π΅ΠΉΡΠ°Ρ ΡΠΎΠ±ΠΈΡΠ°Ρ Π²ΡΠ΅ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΠΌ ΠΈ ΠΏΠΈΡΡΠΌΠ°ΠΌ, ΡΡΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈΡΡΠ»Π°Π»ΠΈ ΠΏΠΎ smtp. ΠΠΎΡΡΠ°ΡΠ°ΡΡΡ Π½Π° Π½ΠΎΠ²ΠΎΠ³ΠΎΠ΄Π½ΠΈΡ ΠΊΠ°Π½ΠΈΠΊΡΠ»Π°Ρ Π²Π½Π΅ΡΡΠΈ ΠΏΡΠ°Π²ΠΊΠΈ ΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΊΡΠΈΠΏΡ
Π Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΊΡΠΈΠΏΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π―Π½Π΄Π΅ΠΊΡΠΎΠΌ
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! ΠΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ?
ΠΠ΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ github’ΠΎΠΌ, Π½ΠΎ ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΡΠ°ΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅.
ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ
$contentMail = «Date: » . date(«D, d M Y H:i:s») . » UT\r\n»;
Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π°
$contentMail = «Date: » . gmdate(«D, d M Y H:i:s») . » UT\r\n»;
ΠΠ½Π°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ ΠΏΠΈΡΡΠΌΠ° ΠΈΠ· Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ (ΠΊ ΡΠ°ΡΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠ»ΡΡΡΠ΅ΡΡΡ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ).
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, Ρ ΠΎΡΠΎΡΠ΅Π΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π‘ΠΊΠΎΡΠΎ Π΄ΠΎΠ±Π΅ΡΡΡΡ Π΄ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π²Π½Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΠ²Π³Π΅Π½ΠΈΠΉ! Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΠΊΡΠΈΠΏΡ, ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ ΡΠ°Π±ΠΎΡΠ°Π». ΠΠΎ Π²ΠΎΡ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ mail.ru Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ? ΠΡΠΎΡΡΠΎ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ. Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π²ΡΠ΄Π°Π΅Ρ Error: E-mail didn’t sent
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! Π‘ Ρ ΠΎΠ΄Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ, Π΄Π°Π²Π½ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π» Ρ mail.ru. ΠΠ°Π΄ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ mail.ru ΠΏΡΠΎΡΡΠΎ Π·Π°Π±Π»ΠΎΡΠΈΠ»ΠΈ Π°ΠΊΠΊΠ°ΡΠ½Ρ, ΡΠ°ΠΊΠΎΠ΅ Π±ΡΠ²Π°Π΅Ρ Ρ smtp. Π ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΈ Π»ΠΎΠ³ΠΈΠ½ smtp Π±ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ — ΡΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π»Ρ mail.ru
Π‘ ΡΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΌΡΡΡ. ΠΠ»Ρ Π½ΠΎΠ²ΡΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Autorization error, ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ Π°ΠΊΠΊΠ°ΠΌΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π§ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ?
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅!
ΠΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠ°Ρ ΡΡΠ°ΡΡΡ ΠΈ ΡΠ°ΠΌ php-ΠΊΠ»Π°ΡΡ. ΠΡΡ ΠΏΠΎ ΡΠΌΡ.
ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
$mailSMTP = new SendMailSmtpClass(‘Π»ΠΎΠ³ΠΈΠ½’, ‘ΠΏΠ°ΡΠΎΠ»Ρ’, ‘Ρ ΠΎΡΡ’, ‘ΠΏΠΎΡΡ’, ‘ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΈΡΡΠΌΠ°’);
Π΅ΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΉΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠΈΠ½Π³Π΅ REG.RU (ΠΠ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΌ) ΠΈ Ρ Ρ ΠΎΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ mail() Π½Π° smtp Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΡΡΡ Π΄ΠΎΠΌΠ΅Π½Π° Π½Π° ΡΠΎΠΌ-ΠΆΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ΅? ΠΠ»ΠΈ — ΠΊΠ°ΠΊ ΡΠ·Π½Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΡΡΠ°?
‘Ρ ΠΎΡΡ’ — Π΅ΡΠ»ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ «localhost»?
Π₯ΠΎΡΠ΅Π»ΠΎΡΡ-Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ… ΠΠ°Π»ΠΎΠ²Π°ΡΠΎ Ρ Π²Π°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅. Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΌΠΎΠΏΠΈΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠΉ mail() ΠΈ ΡΠ°ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² (Π΄ΡΠΌΠ°Ρ — ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΠΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π² Π‘ΠΠΠ), Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΡ-ΡΠΎ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ — ΡΠΎ Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ ΠΈ ΡΠ°ΠΌΠΈ ΡΠΌΠΎΠ³ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π² ΠΊΠ»Π°ΡΡ.
Π’ΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
function mail_utf8($t_user = », $t_email = », $from_user = », $from_email = », $subject = », $host=», $message=», $headers = »)
{
$to=»=?UTF-8?B?».base64_encode($t_user).»?= «;
$from=»=?UTF-8?B?».base64_encode($from_user).»?= «;//ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ
$reply=»=?UTF-8?B?».base64_encode($from_user).»?= «;//Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ
$subject=»=?UTF-8?B?».base64_encode($subject).»?=»;
$headers=»MIME-Version: 1.0\r\n».
«Reply-To: «.$reply.»\r\n».
«Date: «.date(‘D, d M Y H:i:s’).» +0300\r\n».
«Message-ID: \r\n».
«X-Mailer: PHP-UTF8-Sender v3.0 \r\n». //ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ «Roundcube Webmail/1.3.6» ΠΈ Π΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ «User-Agent: Roundcube Webmail/1.3.6»
«X-Sender: «.$from_email.»\r\n».
«Importance: Normal \r\n».
«Priority: Normal \r\n». //ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠΆΠ΅ ΡΡΡΠ°ΡΠ΅Π»ΠΎ, Π²ΠΈΠ΄ΠΈΠΌΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΈΡΡΠ°ΠΌΠΈ (Π½Π°ΡΡΠ» Π³Π΄Π΅-ΡΠΎ Π² ΡΠ΅ΡΠΈ, 2014Π³) «ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΏΠΎΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: 1 β Π²ΡΡΠΎΠΊΠΎ, 3 β Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, 5 β Π½ΠΈΠ·ΠΊΠΎ.»
«Precedence: bulk \r\n». //ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ — «ΡΠ°ΡΡΡΠ»ΠΊΠ°»
«List-Unsubscribe: \r\n». //ΠΎΡΠΏΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΠ°ΡΡΡΠ»ΠΊΠΈ
«From: «.$from.»\r\n».
«Content-type: text/html; charset=UTF-8\r\n».
«Content-Transfer-Encoding: 8bit\r\n»;
return mail($to, $subject, $message, $headers); }
ΠΡ , Π±Π»ΠΈΠ½… Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ ΠΊΠ°Π²ΡΡΠΊΠΈ… ΠΈ Π² ΡΡΡΠΎΠΊΠ°Ρ $from=… ΠΈ $reply=… ΠΈΡΡΠ΅Π·Π»ΠΈ Email ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ. ΠΡ ΠΈ ΡΠ°ΠΊ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
Π Message-ID: (Π² ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ) md5(uniqid(time())).\»@\».$host
ΠΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ — ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Π²ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ.
List-Unsubscribe: (Π² ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ )mailto:unsubscribe@.$host.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π Ρ ΡΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΈ Ρ ΠΌΡΠΉΠ»ΠΎΠΌ. ΠΠ°Π΄ΠΎ Π±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ (ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π΅Π³ΠΎ Π° ΠΎΠ½ Π½Π΅ Π²Π΅ΡΠ΅Π½).
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅. Π£ ΠΌΠ΅Π½Ρ Π΄Π²Π° Π²ΠΎΠΏΡΠΎΡΠ°. ΠΠ΅ΡΠ²ΡΠΉ, Π½Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΊΡΡΡΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ — ΠΏΠΎΡΠ»Π΅ ΡΡΡΠΎΠΊΠΈ $headers.= «To: «.$mailTo.»\r\n»; Π΄ΠΎΠ±Π°Π²ΠΈΠ» $headers.= «Bcc: «.$bcc.»\r\n»;
ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ΅Π»ΠΎ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅? ΠΠΎΡ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ — , ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π²Π°Ρ Π΄Π°ΠΌΠΏΠΎΠΌ. ΠΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΈΡΡΠΌΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π΅Π΅ Π½Π΅Ρ Π² ΡΠ΅Π»Π΅ ΠΏΠΈΡΡΠΌΠ°?
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ. ΠΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΊΠ»Π°ΡΡ.
ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΈΡΡΠΌΠ° ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ To ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ
«undisclosed-recipients»: ;
Π₯ΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Ρ Π² ΠΌΠ΅ΡΠΎΠ΄ send Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ. Π ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ½ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
Π§ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ?
ΠΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΡΠ»ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ ΡΠΆΠ΅, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠ΄)
ΠΡΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°.
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄Π° Π½Π° scaleway Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π½Π°ΡΡΡΠΎΠΈΡΡ php7-fpm + nginx, ΡΡΠΎΠ±Ρ ΡΠΊΡΠΈΠΏΡ Π½Π΅ Π²ΡΠ»Π΅ΡΠ°Π» Π² Error: 110.Connection timed out — ΡΠΆΠ΅ ΠΏΠΎΡΡΠΈ Π½Π΅Π΄Π΅Π»Ρ ΠΊΡΡΡ ΠΈ ΠΏΠΎΠΊΠ° Π½ΠΈΡΠ΅Π³ΠΎ. Π’Π°ΠΉΠΌΠ°ΡΡΡ Π½ΠΈΠΊΠ°ΠΊ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ»ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°, ΡΡΠΎ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΌΠ΅Π»ΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΡΡΠΊΠ°Ρ.
ΠΠ° ΡΡΠ°ΡΠΎΠΌ Π΄ΡΠ΅Π²Π½Π΅ΠΌ ΡΠΌΠΈΡΠ°ΡΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ Π²ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ)
ΠΡΠ΄Π° ΠΊΠΎΠΏΠ°ΡΡ? Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ? ΠΠΎΠΆΠ΅Ρ ΡΠΎΠΊΠ΅ΡΡ? ΠΠΎΠΊΠ° ΡΡΡΡΡ, Π³ΡΠ³Π»Ρ ΡΡΡΠΊΠ°ΠΌΠΈ)
ΠΠ°ΠΏΡΡΡΠΈΠ»)
ΠΡΠ΅ ΡΠΎΠΊΠ΅ΡΡ, Iptables ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Scaleway Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π» SMTP Π² ΡΠ΅Π»ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠΏΠ°ΠΌΠ°. ΠΠ»Ρ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π΄ΠΎ Π·Π°ΠΉΡΠΈ Π² ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π°ΠΊΠΊΠΎΠΌ ΠΈ ΠΏΡΠΎΡΡΠΎ «ΡΠ΅Π»ΠΊΠ½ΡΡΡ» ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ..
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π°Ρ ΠΊΠ»Π°ΡΡ Π½Π° PHP 5.6 windows 10 ΡΠ±ΠΎΡΠΊΠ° XAMPP, ΠΈ Π½Π° Linux Ρ ΠΎΡΡΠΈΠ½Π³Π° beget.com.
ΠΠ° windows Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π° Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³Π΅ Π²ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π½ΠΎ ΠΏΠΈΡΡΠΌΠΎ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ. ΠΠΎΠ»ΡΠ·ΡΡΡΡ ΡΡΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ google, Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ — ΠΎΠ΄ΠΈΠ½ email.
ΠΠΎΡ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π²Π°Ρ ΠΊΠ»Π°ΡΡ:
function send($emailFrom, $emailTo, $letterHeader, $letterBody, $serverAccountEmail,
$serverAccountPassword, $serverAccountHost = ‘ssl://smtp.gmail.com’, $serverAccountPort = 465) {
$mailSMTP = new SendMailSmtpClass($serverAccountEmail, $serverAccountPassword,
$serverAccountHost, $serverAccountPort);
$from = array($emailFrom, $emailFrom);
$emailToStr = is_array($emailTo) ? $emailToStr = implode(«, «, $emailTo) : $emailTo;
return $mailSMTP->send($emailToStr, $letterHeader, $letterBody, $from);
}
send(‘mymail@gmail.com’, ‘mymail@gmail.com’, ‘my theme’, ‘body str’, ‘mymail@gmail.com’, ‘mypassword’);
ΠΠ°Π±ΡΠ» Π΄ΠΎΠ±Π°Π²ΠΈΡΡ.
ΠΠ° Linux ΡΠΎΠΆΠ΅ PHP 5.6
ΡΡΠ½ΠΊΡΠΈΡ send Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true.
ΠΠ° ΠΏΠΎΡΡΠ΅ gmail Π½Π΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΡΠ΅Π°Π½ΡΠΎΠ² Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΎΡ smtp.
ΠΠ°ΡΡΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°ΠΊ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΠΎΠΆΠ΅ autorization error. ΠΡΠ»Π΅ΡΠΈΠ»ΠΎΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ gmail. ΠΠ°ΡΡΠ» ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΠΎΠ΄Π½ΠΎ ΠΏΠΈΡΡΠΌΠΎ Ρ Ρ ΠΎΡΡΠΈΠ½Π³Π°.
ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ Π²Ρ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ? Π’Π°ΠΊΠ°Ρ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΠ°, Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠΉΠΌΡ, ΡΡΠΎ Ρ Π½Π΅ΠΉ Π΄Π΅Π»Π°ΡΡ (Π² ΠΊΠΎΠ΄Π΅ ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡ).
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ: Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ (Denwer) ΠΏΠΎΡΡΠ° ΡΡ ΠΎΠ΄ΠΈΡ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ° Ρ ΠΎΡΡΠΈΠ½Π³Π΅ (ΡΠ΅Π³.ΡΡ) ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° «Error: 113.No route to host «.
Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠ° Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅:
$mailSMTP = new SendMailSmtpClass(‘info@ΠΌΠΎΠΉΡΠ°ΠΉΡ.ru’, ‘ΠΏΠ°ΡΠΎΠ»Ρ’, ‘mail.ΠΌΠΎΠΉΡΠ°ΠΉΡ.ru’, 25, «utf-8»);
$from = array(
«ΠΌΠΎΠΉΡΠ°ΠΉΡ», // ΠΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ
«info@ΠΌΠΎΠΉΡΠ°ΠΉΡ.ru» // ΠΏΠΎΡΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ
);
$to = ‘target@mail.ru’;
Π² ΡΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΊΠ°?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π°Π²ΡΠΎΡΡ Π·Π° ΡΡΡΠ΄. ΠΠ°Π»Ρ, ΡΡΠΎ ΠΎΠ½ Π·Π°Π±ΡΠΎΡΠΈΠ» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΎΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄.
Π£ ΠΌΠ΅Π½Ρ Π²ΠΎΠΏΡΠΎΡ: ΠΊΠ°ΠΊ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ (ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ) ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π±Ρ ΠΈ ΠΎΡΠ²Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΎΡΡ Π½Π΅ ΠΏΠ»Π΅Π²Π°ΡΡΡΡ smtp ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Ρ ΡΠ·Π½Π°Π» ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΡΠ°, Π° ΠΎΠΎΠΏ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΉΠ½Π° ΡΠ²ΡΡΠ΅Π½Π½Π°Ρ Π΅ΡΡΡ.
ΠΠ°ΠΊ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°, Π° Π΅ΡΠ΅ ΠΈ ΡΠ°ΡΡΡ ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π·Π°ΠΏΡΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΎΡΠΊΠ»ΠΈΠΊΠ½Π΅ΡΡΡ.
ΠΠ»Ρ Π½ΡΠ±ΠΎΠ² ΠΊΠ°ΠΊ ΠΈ Ρ ΠΏΠΎΡΡΠ½Ρ: ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΡΠΎ ΡΠ°ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ (Π΄ΠΎ Π²ΡΡ ΠΎΠ΄Π°) ΡΠ°Π³Π΅. Π’.Π΅. Π²ΡΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ, Π° ΡΠ°ΠΌΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ (ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ). ΠΠ»Ρ ΡΠ°Π·Π±ΠΎΡΠ° Ρ Π―Π½Π΄Π΅ΠΊΡΠΎΠΌ (ΡΠ°ΠΌ Π΄Π½Ρ Ρ ΠΎΡΡΠΈΡΡΡ) Π½ΡΠΆΠ½Ρ ΠΎΡΠ²Π΅ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π° ΠΊΠ°ΠΊ ΠΈΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΊΠΎΠ²ΡΡΡΡΡ — Π½Π΅ Π·Π½Π°Ρ. ΠΡΠΈΠ±ΠΊΠ°: E-mail didn’t sent (ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°).
Π£ ΠΌΠ΅Π½Ρ Π²ΠΎΠΏΡΠΎΡ ΠΏΡΠΎ
$mailSMTP->addFile(«test.jpg»);
Π‘ΠΊΡΠΈΠΏΡ «ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ» ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°?
Π Π΅ΡΠ»ΠΈ Ρ Ρ ΠΎΡΡ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠΎΡΠΌΡ (ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΠ)?
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΠΎΡΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΉΠ» Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΊ:
/***************************/
$attachment = chunk_split(base64_encode(file_get_contents($_FILES[‘file’][‘tmp_name’])));
$filename = $_FILES[‘file’][‘name’];
$filetype = $_FILES[‘file’][‘type’];
$boundary = md5(date(‘r’, time()));
$headers2.= «MIME-Version: 1.0\r\n»;
$headers2.= «Content-Type: multipart/mixed; boundary=\»_1_$boundary\»»;
$message=»
—_1_$boundary
Content-Type: multipart/alternative; boundary=\»_2_$boundary\»
—_2_$boundary
Content-Type: text/html; charset=\»UTF-8\»
Content-Transfer-Encoding: 7bit
$message
—_2_$boundary—
—_1_$boundary
Content-Type: \»$filetype\»; name=\»$filename\»
Content-Transfer-Encoding: base64
Content-Disposition: attachment // ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ
$attachment
—_1_$boundary—«;
/**********************/
Π ΠΌΠ°ΡΡΠΈΠ²Π΅ $_FILES[‘file’][‘tmp_name’] Ρ ΡΠ°Π½ΠΈΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ». ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΠΏΠΈΡΡΠΌΠΎ. ΠΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ move_uploaded_file ΠΈ ΡΠΆΠ΅ ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π² ΠΏΠΈΡΡΠΌΠΎ.
ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΏΡΠΈΠΊΡΡΡΠΈΡΡ Π²ΠΎΡ ΠΊ ΡΡΠΎΠΉ ΡΠΎΡΠΌΠ΅ Ρ Π Π΅ΠΊΠ°ΠΏΡΠ΅ΠΉ ΠΡΠ³Π» https://gist.github.com/Jakobuz/2073d70f073684a8a14528705fd67a67#file-recaptcha-form-php
Π ΡΠ°ΠΌΠΎΠΌ Π²Π²Π΅ΡΡ Ρ Ρ Π²ΠΏΠΈΡΠ°Π» ΡΡΠΈ Π΄Π²Π΅ ΡΡΡΠΎΡΠΊΠΈ
require_once «SendMailSmtpClass.php»; // ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ»Π°ΡΡ
$mailSMTP = new SendMailSmtpClass(‘*****@yandex.ru’, ‘******’, ‘ssl://smtp.yandex.ru’, 465, «UTF-8»);
Π Π²ΠΎΡ ΡΡΡ ΡΡΡΠΎΡΠΊΡ Π² ΠΊΠΎΠ΄Π΅:
@mail($to,$subject,$htmlContent,$headers);
Π·Π°ΠΌΠ΅Π½ΠΈΠ» Π½Π° ΡΡΡ:
$mailSMTP->send($to,$subject,$htmlContent,$from);
Π Π΄Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ:
$from = array(
«*******», // ΠΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ
«********@yandex.ru» // ΠΏΠΎΡΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ
);
ΠΠΎ Π² ΠΈΡΠΎΠ³Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΠΈ Π²ΡΠ΅Π³Π΄Π° Π²ΡΡΠ²Π΅ΡΠΈΠ²Π°Π΅ΡΡΡ «Robot verification failed, please try again.»
ΠΡΠΈΠ±ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Β«Robot verification failed, please try again.Β» — ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΎΡ ΡΠ΅ΠΊΠΏΡΡΠΈ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΡΠ²Π΅ΡΡΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ Π΅Π΅
Π’ΠΎΡΠ½ΠΎ! ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ²Π»ΡΠ»ΡΡ Π²ΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «allow_url_fopen» Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ PHP.
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ. ΠΡΠΏΡΠ°Π²ΠΊΠ° Π½Π° Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ Π°Π΄ΡΠ΅ΡΠ° Ρ Π²ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
ΠΠ°, Π²ΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ!
ΠΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ: ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π·Π½Π°ΠΊΠΈ Π²ΠΎΠΏΡΠΎΡΠ° Π½Π° ΡΡΠΈΠΊ. Π ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°? ΠΡΡ ΡΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! ΠΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΈΠ½ΡΡΡ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°?
ΠΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄?
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! Π‘Π²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ. ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ½Π΄Π΅ΠΊΡΠΎΠΌ((
Error: 101.Network is unreachable
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅ Ρ ΠΎΡΡΠΈΠ½Π³ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠΈΠ½Π³Π°
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ. ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠΈΠ½Π³Π° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠΈΠ±ΠΊΡ Error: 0.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ!
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΡΡ, Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Ρ ΠΎΡΡΠΈΠ½Π³Π°.
Π‘ΠΊΠ°ΠΆΠΈΡΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π°Π²Π°ΡΠ°ΡΠΊΡ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅?
ΠΠΎΡΡΠ° ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ info@mysite.ru, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π° ΠΊ ΡΠ½Π΄Π΅ΠΊΡΡ. Π£ ΡΠ½Π΄Π΅ΠΊΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» Π°Π²Π°ΡΡΠΊΡ, Π½ΠΎ ΠΏΠΈΡΡΠΌΠ° ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π±Π΅Π· Π½Π΅Π΅. ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?)
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ SSL/TLS, a STARTTLS ?
SMTP, Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ — 25 ΠΏΠΎΡΡ ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ·…:
Π¦ΠΈΡΠΈΡΡΡ Ρ https://blog.gelin.ru/2016/09/starttls.html
ΠΠΎΠΌΠ°Π½Π΄Π°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ STARTTLS.
Π‘Π½Π°ΡΠ°Π»Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π±Π΅Π· ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. Π Ρ ΠΎΠ΄Π΅ Π½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅Π³ΠΎΠ²ΠΎΡΠΎΠ², ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π²ΡΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡΠ»ΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠ³ΡΡ ΠΈ Ρ ΠΎΡΡΡ ΡΠΈΡΡΠΎΠ²Π°ΡΡΡΡ, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ STARTTLS. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½Π°Ρ Π΄Π»Ρ TLS ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠ»ΠΈ ΠΎΠ½Π° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅Π°Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΠΆΠ΅ ΠΈΠ΄ΡΡ ΠΏΠΎ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ.
Π ΡΠ»ΡΡΠ°Π΅ SMTP ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ telnet.
% telnet smtp.gmail.com 25
Trying 2a00:1450:4010:c02::6c…
Connected to gmail-smtp-msa.l.google.com.
Escape character is ‘^]’.
220 smtp.gmail.com ESMTP d130sm3364531lfd.12 — gsmtp
EHLO localhost
250-smtp.gmail.com at your service, [2a02:2698:5425:c799:58de:766c:9bc4:25f5]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
STARTTLS
220 2.0.0 Ready to start TLS
ΠΠ»ΠΈΠ΅Π½Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΡΠΈ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ: ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ EHLO. Π‘Π΅ΡΠ²Π΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ, ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ, ΠΎΠ½ ΡΠΌΠ΅Π΅Ρ STARTTLS: 250-STARTTLS. ΠΠ»ΠΈΠ΅Π½Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ STARTTLS. Π‘Π΅ΡΠ²Π΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ: Ρ Π³ΠΎΡΠΎΠ², Π½Π°ΡΠΈΠ½Π°ΠΉ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈ Π½Π°Π΄ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ TLS, ΡΠΎΠ»ΡΠΊΠΎ telnet ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠΌΠ΅Π΅Ρ.
Π OpenSSL Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅Π΅Ρ Π΄Π΅Π»Π°ΡΡ STARTTLS. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ SMTP.
% openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:25
CONNECTED(00000003)
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, Π°Π²ΡΠΎΡΡ! ΠΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π‘ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΡΡ Ρ ΠΎΡΠΎΡΠΎ, Π° Π²ΠΎΡ Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³Π΅… — ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠ°ΠΌΠ°Π½ΠΈΡΡ Ρ Π±ΡΠ±Π½ΠΎΠΌ — ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ mail php Π΄Π°Π»ΡΡΠ΅ Π»ΠΎΠΊΠ°Π»ΠΊΠΈ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»Π°, Π° smtp ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π»ΠΈ. Π£ΠΆ Π΄ΡΠΌΠ°Π» ΠΎ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄Π΅, Π½ΠΎ Π²ΡΠΎΠ΄Π΅ Π²ΡΠΊΡΡΡΠΈΠ»ΡΡ. ΠΠ»Π°Π²Π½ΠΎΠ΅ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ — ΠΏΠΈΡΡΠΌΠ° ΡΡ ΠΎΠ΄ΡΡ, Π² ΡΠΏΠ°ΠΌ Π½Π΅ Π»Π΅ΡΡΡ, ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½Ρ, Ρ ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅!) ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΠ°ΠΌ!
Π΄Π΅Π½Ρ Π΄ΠΎΠ±ΡΡΠΉ! ΠΠΎΡ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΡ ΠΎΠ΄ΠΈΡ
Error: 47221480.Unable to find the socket transport «ssl» — did you forget to enable it when you configured PHP?
Π¨ΠΈΠΊΠ°ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°!
Π’Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΌΠΎΠ»ΠΎΠ΄Π΅Ρ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ°ΠΊΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΈΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· ssl smtp.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π’Π΅Π±Π΅ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π°ΡΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ ΡΡΠΎ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ ΡΠ΅Π½ΠΈΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌΠΈ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ. Π‘ΠΊΡΠΈΠΏΡ ΠΎΡΠ΅Π½Ρ Π²ΡΡΡΡΠ°Π΅Ρ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅. Π― ΠΎΡΠΏΡΠ°Π²Π»ΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΠΏΠΈΡΡΠΌΠ°, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π°Π²ΡΠΎΠΎΡΠ²Π΅Ρ. ΠΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Ρ ΠΎΡΠΎΡΠΎ. ΠΠΎΠ³Ρ Π»ΠΈ Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΈΡΡΠΌΡ? Π‘Π΅ΠΉΡΠ°Ρ Π΄Π΅Π»Π°Ρ ΠΏΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ΅ΡΡΡ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ ΠΏΠΈΡΡΠΌΠ°ΠΌ.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΊΠ°ΠΊ-ΡΠΎ Π² ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»?
$mail_status = $mailSMTP->send($mail_to, $subject, $body_message, $from);
ΠΡΠΈΠ΄ΡΠΌΠ°Π». Π‘Π½Π°ΡΠ°Π»Π°, ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΠΈΡΡΠΌΠΎ, ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΉΠ» ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΈΡΡΠΌΠΎ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
ΠΠΎΠ±ΡΠΎΠ΅ ΡΡΡΠΎ! ΠΡΠ΅ Π²Π΅ΡΠ½ΠΎ, ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ. Π― Π½Π΅ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ, ΡΠ°ΠΌΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ)
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΊΠΎΠ΄. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ».
ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΠ½ΡΠ», ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ — Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΎΡΠΏΡΠ°Π²ΠΊΡ (didn’t send), Π½Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠ΅ΡΠ΅? Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ! ΠΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΡΡ ΠΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ!
Π₯ΠΎΡΡ ΡΠΏΡΠΎΡΠΈΡΡ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΅ΡΠ»ΠΈ Π²ΡΠ²Π°Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°: Error of command sending: HELO ?
ΠΊΠΎΠ΄:
mailSMTP = new SendMailSmtpClass($settings[«smtp_login»], $settings[«smtp_password»], ‘ssl://smtp.yandex.ru’, 465, «UTF-8»);
$result_mail = $mailSMTP->send($settings[«to_email»], $subject, $body, [$settings[«from_name»],$settings[«from_email»]]);
ΠΡΠΈΡΠ΅ΠΌ ΠΏΠΎ Π½Π΅ΠΎΠ±ΡΡΡΠ½ΠΈΠΌΠΎΠΉ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π· cron. ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ· Π±ΡΠ°ΡΠ·Π΅ΡΠ° — Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ.
ΠΠΎΠΏΠΎΠ»Π½Ρ: ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΡΠΎΠ½ Π² Π²Π΅Π±ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΈΡΠ΅Ρ Π² errorlog ΠΎΡΠΈΠ±ΠΊΡ: PHP Notice: Undefined index: SERVER_NAME in /*****/SendMailSmtpClass.php on line 77
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΠ· Π±ΡΠ°Π·ΡΠ΅Ρ, ΠΎΡΠΈΠ±ΠΊΠ° ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π°ΡΠ΅Π».
ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΡ: https://valera.ws/2011.01.13~sitename-php-from-cron/
ΠΠ΅Π½Ρ Π΄ΠΎΠ±ΡΡΠΉ, Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅, ΠΏΠΈΡΡΠΌΠ° ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π±Π΅Π· Π°Π΄ΡΠ΅ΡΠ°, ΠΊΠΎΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ?
ΠΠ°ΠΊ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ?)
ΠΠΈΡΠ΅Ρ ΡΡΠΎ «0 ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ»
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ. ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ Π½Π°ΡΠ°Π»Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΏΠΈΡΠ΅ΠΌ ΠΏΠΎ smtp Ρ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ½Π΄Π΅ΠΊΡ. ΠΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅ΡΠΊΠΈ. ΠΡΠΈΠ±ΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ: ΠΠΈΡΡΠΌΠΎ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ. ΠΡΠΈΠ±ΠΊΠ°: E-mail didn’t sent. ΠΠ½Ρ 4 Π½Π°Π·Π°Π΄ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
c web-ΠΌΠΎΡΠ΄Ρ ΠΏΠΈΡΡΠΌΠ° Π΄ΠΎΡ ΠΎΠ΄ΡΡ.
Π£ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠΎΠ±ΠΎΠ²Π°Π» c localhost ΠΈ 2-Ρ ΡΠ°Π·Π½ΡΡ Ρ ΠΎΡΡΠΈΠ½Π³ΠΎΠ². Π ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅, ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅Π΄Π°Π²Π½ΠΎ ΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. Π‘Π΅ΠΉΡΠ°Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π ΠΊΡΡΠ°ΡΠΈ ΡΠ°ΠΌ mail php-ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠΊΠ° ΠΎΠ±ΡΡΠ½Π°Ρ Π° Π²ΠΎΡ ΡΠ΅ΡΠ΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π²ΡΠ΄Π°Π΅Ρ:
Error: 101.Network is unreachable
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, ΠΊΠ°ΠΊ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π²ΡΡΠ°Π²ΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ? ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ MIME TYPE ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΡΡΡΠΎΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ»ΡΡ. Π’Π°ΠΊΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°:
$from = «***@yandex.ru»
$to = «***@yandex.ru»
$subject = «Π’Π΅ΠΌΠ° ΠΏΠΈΡΡΠΌΠ°»
$message = «Π’Π΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°.\r\nΠ‘ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠΌ ΡΡΡΠΎΠΊ»
$headers = ‘From: No-Reply \r\n»;
$headers .= ‘Subject: ‘. $subject . «\r\n»;
$headers .= ‘Reply-To: No-Reply \r\n»;
$headers .= ‘To: ‘. $to . «\r\n»;
$headers .= «Content-Type: text/plain;» . ‘charset=»utf-8″‘ . «\r\n»; // ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΈΡΡΠΌΠ°
$headers .= «MIME-Version: 1.0\r\n»;
$result = $mailSMTP->send($to, $subject, $message, $headers);
ΠΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ E-mail didn’t sent
ΠΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ, Π° ΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΏΠΈΡΡΠΌΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ br
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ?
Π Π°Π½ΡΡΠ΅ Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΡΠ°Π²ΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π²ΡΡΡΠ½ΡΡ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
$headers= «MIME-Version: 1.0\r\n»;
$headers .= «Content-type: text/plain; charset=utf-8\r\n»; // ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΈΡΡΠΌΠ°
$headers .= «From: ΠΠ½Π΄ΡΠ΅ΠΉ \r\n»; // ΠΎΡ ΠΊΠΎΠ³ΠΎ ΠΏΠΈΡΡΠΌΠΎ
$headers .= «To: \r\n»; // ΠΊΠΎΠΌΡ ΠΏΠΈΡΡΠΌΠΎ
$mes = «Π’Π΅ΠΌΠ°: ΠΠ°ΠΊΠ°Π· Π·Π²ΠΎΠ½ΠΊΠ°!\nΠΠΌΡ: $name\nΠ’Π΅Π»Π΅ΡΠΎΠ½: $phone\nEmail: $email»;
$sub=’ΠΠ°ΠΊΠ°Π· Ρ ΡΠ°ΠΉΡΠ°’; //ΡΠ°Π±ΠΆ subject ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ, ΡΠ΅ΠΌΠ°
$result = $mailSMTP->send(«one@mail.ru», $sub, $mes, $headers); // ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠΈΡΡΠΌΠΎ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ br, ΠΏΠΎΡΡΠΎΠ²ΠΈΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ html
ΠΠΎΡ ΠΎΠΆΠ΅ Ρ ΡΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΎΠΏΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ :(
ΠΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΡΠΈΠΊΠ° ΡΡΠΎΡΡ, ΡΡΠΈΠΊ Π½Π΅ Π½ΠΎΠ²ΡΠΉ, Π½ΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ E-mail didnβt sent
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° Π³ΠΈΡΡ Π°Π±Π΅ ΡΠΆΠ΅ Π΅ΡΡΡ Π°ΠΏΠ΄Π΅ΠΉΡ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΠΎ Π²ΡΠ΅ ΠΎΠΊ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ!
https://github.com/Ipatov/SendMailSmtpClass/blob/master/example/index.php
Error: Autorization error 3
ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π° ΡΠ½Π΄Π΅ΠΊΡ… ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π° Π΄Π²ΡΡ ΡΠ°ΠΉΡΠ°Ρ . ΠΠ΅ΡΠΆΠ΅Π»ΠΈ Π²Π΅Π·Π΄Π΅ ΠΎΡΠ²Π°Π»ΠΈΠ»ΠΎΡΡ?
<?php
if ($_POST['phone']) {
$phone = $_POST['phone'];
require_once "SendMailSmtpClass.php";
$mailSMTP = new SendMailSmtpClass('pochta@yandex.ru', 'psw', 'ssl://smtp.yandex.ru', 465, "UTF-8");
$from = array(
"agropartner72",
"pochta@yandex.ru"
);
$to = 'pochta@yandex.ru';
$subject = 'ΠΠ°ΠΏΡΠΎΡ Ρ ΡΠ°ΠΉΡΠ°';
$message = 'ΠΠ°ΠΏΡΠΎΡ Ρ ΡΠ°ΠΉΡΠ°
Π’Π΅Π»Π΅ΡΠΎΠ½ — ‘.$phone.»;
$result = $mailSMTP->send($to, $subject, $message, $from);
if($result === true){
echo «Done»;
}else{
echo «Error: » . $result;
};
};
?>