Php pochta va smtp ishlash tamoyillari. Elektron pochta xabarlarini yuborish (SMTP va boshqalar

Uy / Qattiq disklar

Mahalliy serverdan SMTP orqali pochta jo'natish sizga mahalliy kompyuterda joylashgan saytdan yoki oddiyroq aytganda, mahalliy serverdan xabarlarni yuborishni sinab ko'rish imkonini beradi. Buning uchun siz Yandex, Google yoki mail.ru har qanday pochta xizmatidan foydalanishingiz mumkin.

Birinchidan, SMTP (Simple Mail Transfer Protocol) keng tarqalgan tarmoq protokoli, uzatish uchun mo'ljallangan elektron pochta TCP/IP tarmoqlarida. Va barcha mashhur elektron pochta xizmatlarida bunday protokollar mavjud.

Mahalliy serverlar paydo bo'lishi bilan, individual skriptlar yoki cms tizimlarining ishlashini tekshirish uchun hosting provayderini tanlashning hojati yo'q edi, buning uchun kamroq to'lanadi. Hamma narsani kompyuterda sinab ko'rish ancha oson va keyin siz "qilgan" ni hammaga ko'rsatishingiz mumkin.

Ushbu serverlarning aksariyati allaqachon o'rnatilgan dasturiy ta'minot va pochta bilan ishlash uchun kerakli funksionallik, siz uni to'g'ri sozlashingiz kerak.

Bunday pochtaning funksionalligini tekshirish uchun minimal talab qilinadi:

  • Openserverdan mahalliy server sifatida foydalanishingiz mumkin.
  • Va oddiy skript, uning shablonini quyida topish mumkin.
  • Siz har qanday pochta serveridan foydalanishingiz mumkin.

SMTP skriptini sozlash orqali PHP pochta jo'natish

Quyida nusxa ko'chiradigan yoki yuzlab shunga o'xshash saytlardan yuklab olinadigan oddiy skript shablonini tahrirlash kerak.

Avval siz skript shablonidagi ba'zi qiymatlarni o'zgartirishingiz kerak.
uchun — pochta xabari yuboriladigan pochta manziliga o'zgartirish.
mavzu - xat mavzusi
xabar — xabarning o'zi yoki xatning asosiy qismi.

Mening skriptimga misol:

Siz, albatta, funksiyani biroz kengaytirishingiz va skriptni pochta jo'natish haqidagi xabarni ko'rsatishingiz mumkin. Garchi aslida SMTP serveri jo'natishni amalga oshiradi va skript faqat xabarni yaratadi.

Masalan, siz buni yozishingiz mumkin:

Barcha almashtirilgan qiymatlar tirnoq ichida bo'lishi kerak, aks holda skript xatoga yo'l qo'yadi. Shundan so'ng siz skriptni mahalliy server papkasida saqlashingiz mumkin.

Masalan: domains/send/index.php va SMTP opensrerver orqali xat yuborishni sozlashni boshlang.

Pochta qiymat o'rniga skriptda ko'rsatilgan istalgan manzilga keladi "ga" , lekin bu xat ochiq server sozlamalarida ko'rsatilgan aniq SMTP tomonidan qayta ishlanadi va yuboriladi.

  1. Server ishga tushirilmoqda
  2. "Pochta" menyusidagi sozlamalar bilan ochiq server modulini oching
  3. Biz barcha maydonlarni rasmda ko'rsatilganidek to'ldiramiz, shu bilan birga Yandex-dagi haqiqiy pochta qutisidan foydalanuvchi nomi, jo'natuvchining elektron pochtasi va parolini almashtiramiz.

Biz sozlamalarni saqlaymiz va server qayta ishga tushirilgandan so'ng siz skriptning o'ziga kirishingiz mumkin. "Mening saytlarim" jildidan avval saqlangan index.php skripti joylashgan "yuborish" jildini oching.

Ushbu skriptga kirish bilanoq, yangi brauzer oynasida skript tugallanganligini ko'rsatadigan ma'lumotlar paydo bo'ladi.

Shundan so'ng siz o'zingizni tekshirishingiz kerak pochta qutisi, kimning manzili ssenariyda ko'rsatilgan, xat kelganmi yoki yo'qmi.

Agar u yo'q bo'lsa, bu biror narsa to'g'ri sozlanmaganligini yoki xat spam jildiga tushganligini anglatadi.

Boshqa barcha sozlamalar o'xshash ko'rinadi, lekin har holda Qo'shimcha ma'lumot zarar qilmaydi.

SMTP mail ru orqali xat yuborishni sozlash uchun siz Yandex parametrlarini mail ru parametrlari bilan almashtirishingiz kifoya.

Va har safar qayta qurmaslik uchun mahalliy server, turli ochiq server profillarini sozlash eng yaxshisidir. Buni qanday qilish video darsida ko'rsatilgan.

Bunday holda, faqat profilni yuklash kifoya qiladi va ushbu profil uchun ko'rsatilgan barcha sozlamalar serverni qayta ishga tushirgandan so'ng mavjud bo'ladi. Bu juda qulay narsa va juda oddiy ishlaydi.

Har bir profil uchun (u qanday nomlanishi muhim emas), agar siz skriptlar, cms tizimlari va turli parametrlarga ega ilovalardan foydalanishni rejalashtirmasangiz, o'z sozlamalarini o'rnatishingiz kerak.
Agar yo'q bo'lsa, siz standart sozlamalar bilan ishlashingiz mumkin.

SMTP mail ru-ga kelsak, bu erda hamma narsa bir xil.

Yandex ma'lumotlari mail ru ma'lumotlariga o'zgartirildi

smtp google orqali pochta jo'natish

Google SMTP orqali xat yuborishni sozlash uchun biroz harakat talab etiladi.

Birinchidan, Google-da profil yaratish boshqa Yandex va mail ru tizimlariga qaraganda qiyinroq
Ikkinchidan, agar siz login ma'lumotlaringizni taqdim qilsangiz ham, tizim shunchaki xatni o'tkazib yubormaydi. Boshlash uchun u keyingi ko'rsatmalar haqida barcha kerakli ma'lumotlarni o'z ichiga olgan xat yuboradi.

Aks holda Google uchun u xuddi shu tarzda sozlangan. Faqat barcha ma'lumotlar o'zgaradi.

Boshqa SMTP orqali xat yuborishni sozlash uchun barcha ma'lumotlar taxminan bir xil bo'ladi.

Agar hamma narsa siz uchun ishlagan bo'lsa va xatlar ko'rsatilgan manzilga etib kelgan bo'lsa, unda hamma narsa to'g'ri bajarilgan. Izohlarda tajribangizni baham ko'rsangiz yaxshi bo'lardi.

PHP pochta

Ushbu funktsiya sukut bo'yicha Email yuborish sifatida amalga oshiriladi. Bu funksiya elektron pochta xabarlarini yuborish uchun uchinchi tomon serverini talab qilmaydi. Ushbu funktsiyaning to'g'riligini tekshirish uchun sayt joylashgan papkada test.php faylini yarating va u erga quyidagi kodni joylashtiring:

Buning o'rniga qayerda "E-PochtaQabul qiluvchi" Xat yuborilishi kerak bo'lgan elektron pochta manzilini kiriting.

Joy bu fayl saytingizning ildizida.

Keyin manzil satriga www.YourDomain/test.php kiriting. Agar ko'rsatilgan elektron pochta manziliga xat olingan bo'lsa, sizning xostingingiz xatlarni yuborish funktsiyasi bilan to'g'ri ishlaydi " PHP pochtasi". Xat spamga tushib qolgan bo'lishi mumkin, shuning uchun uni ham tekshirish kerak.

Agar xat tushunarsiz kodlashda kelgan bo'lsa, qatorni o'zgartiring: "Pochta yuborilishi tekshirilmoqda" yoqilgan "Xat yuborilishi tekshirilmoqda", "Content-type:text/html;charset=utf-8".

Va xatni brauzeringizning manzil satri orqali yuborishni takrorlang.

Agar yuqoridagi manipulyatsiyalardan so'ng test xati yakuniy qabul qiluvchiga etib bormasa, siz hosting texnik yordamiga murojaat qilishingiz kerak.

Kamchiliklar orasida bu usul Shuni ta'kidlash kerakki, ish doimiy emas bu usul. Xosting tomonida elektron pochta xabarlarini yuborishda uzilishlar bo'lishi mumkin.

Ushbu usulning asosiy kamchiligi shundaki, mijozlarning elektron pochtalari orqali olingan barcha xatlar pochta xizmatlari (gmail, mail.ru, yandex.ru) tomonidan tan olinmaydi, chunki ular to'g'ridan-to'g'ri veb-saytingizdan yuborilgan.

Gmail pochta xizmati ushbu xatlarni savol belgisi va imzo bilan ko'rsatadi: "Gmail tizimi bu xat YourDomain domenidan yuborilganligini tasdiqlay olmadi. Bu spam bo'lishi mumkin."

Bunday vaziyatdan qochish uchun .

SMTP (oddiy pochta uzatish protokoli)

SMTP - pochta uzatish protokoli. Umuman olganda, ushbu protokol yordamida pochta uzatishni sozlash uchun sizga SMTP serverining o'zi kerak bo'ladi. yandex.ru korporativ (domen) pochtasidan SMTP serveri sifatida foydalanishning eng keng tarqalgan varianti https://pdd.yandex.ru/ hisoblanadi.

Bu birinchi navbatda zarur hisob (pochta) yandex, uning asosida domeningiz uchun elektron pochta xabarlari yaratiladi: “order@YourDomain” “info@YourDomain”… Asosiy hisob hech qayerda koʻrinmaydi va faqat kelajakda unga asoslangan domen xatlarini yaratish uchun ishlatiladi.

Shaxsiy Yandex hisob qaydnomangizda avtorizatsiya qilingandan so'ng, https://pdd.yandex.ru/ havolasida domen pochtasi yaratiladi. Bu foydalanuvchilar "Yuborish" maydonida ko'radigan domen elektron pochta manzilidir.

SMTP orqali elektron pochta xabarlarini yuborishda "Yuboruvchi" maydoni talab qilinadi. Xat yuborish uchun SMTP dan foydalanish, " kombinatsiyasi Domen" - "Elektron pochta", shu bilan xatlar pochta xizmatlari tomonidan tan olinadi.


Ushbu usulning kamchiliklari orasida domen pochta portretini "yuklash" mumkin emasligini ta'kidlash kerak, chunki pochta xizmatlarining o'zi hali bu funksiyani ta'minlamaydi.

SMTP orqali xat yuborish sozlamalari

Veb-sayt quruvchilar Joomla CMS-dan foydalangan holda veb-sayt elektron pochtasi bilan bog'liq muammoga duch kelgan holatlar mavjud. Misol uchun, ariza orqali xat yuborilganda fikr-mulohaza Quyidagi turdagi xatolar paydo bo'lishi mumkin: "Pochta funktsiyasini ishga tushirib bo'lmadi" yoki "Pochta funksiyasini chaqirib bo'lmadi". Xatni xatosiz yuborish ham mumkin, ammo natijada u hali ham adresatga etib bormaydi.

Nima uchun bu muammolar pochta bilan sodir bo'ladi? Bu savolga javob berish uchun siz boshqaruv panelidagi quyidagi yo'lga o'tishingiz kerak: "Tizim" - "Umumiy sozlamalar" - "Server" yorlig'i - "Pochta sozlamalari" bo'limi.

CMS Joomla xatlarni yuborishning uchta mexanizmini taqdim etadi: PHP Mail, Sendmail va SMTP. Odatiy bo'lib, PHP Mail ishlatiladi, bu ko'pincha muammolarni keltirib chiqaradi, bu asosan ishlatiladigan hosting sozlamalari bilan bog'liq.

Yuqoridagilarga asoslanib, biz xulosa qilamiz: yo yordam uchun hosting provayderiga murojaat qilamiz yoki xat yuborishning Sendmail yoki SMTP usulidan foydalanamiz. Keling, SMTP dan foydalanishga e'tibor qarataylik.

SMTP yordamida pochta jo'natish sozlamalari

SMTP (Simple Mail Transfer Protocol) elektron pochtani uzatish uchun ishlatiladigan tarmoq protokolidir. SMTP dan foydalanish uchun siz foydalaniladigan maxsus pochta serveri sozlamalarini to'g'ri sozlashingiz kerak.

Ko'rish uchun SMTP sozlamalari, "Yuborish usuli" da "SMTP" ni tanlashingiz kerak. Keling, mashhur pochta serverlarining har bir sozlamalarini ko'rib chiqaylik: Yandex, Mail, Gmail, Rambler va Yahoo.

Yandex uchun SMTP sozlamalari

  1. Veb-sayt elektron pochtasi: yandex.ru saytidagi pochta qutisi, masalan: [elektron pochta himoyalangan]
  2. SMTP xavfsizligi: SSL
  3. SMTP server porti: 465
  4. SMTP foydalanuvchi nomi: yandex.ru saytida pochta qutisiga kirish, masalan: xasanov (@yandex.ru holda)
  5. SMTP serveri: smtp.yandex.ru

Pochta uchun SMTP sozlamalari

  1. Veb-sayt elektron pochtasi: mail.ru saytidagi pochta qutisi, masalan: [elektron pochta himoyalangan]
  2. Xat jo'natuvchisi: oluvchi tomonidan "Yuborish" maydonida ko'rsatiladigan yozuv
  3. Pochta yuborishni o'chirish: yoqish/o'chirish. ommaviy pochta funksiyalari
  4. SMTP serverida avtorizatsiya: Ha
  5. SMTP xavfsizligi: SSL
  6. SMTP server porti: 465
  7. SMTP foydalanuvchi nomi: mail.ru saytidagi pochta qutisi, masalan: [elektron pochta himoyalangan]
  8. SMTP paroli: pochta qutisi paroli
  9. SMTP serveri: smtp.mail.ru

Gmail uchun SMTP sozlamalari

  1. Veb-sayt elektron pochtasi: gmail.com pochta qutisi, masalan: [elektron pochta himoyalangan]
  2. Xat jo'natuvchisi: oluvchi tomonidan "Yuborish" maydonida ko'rsatiladigan yozuv
  3. Pochta yuborishni o'chirish: yoqish/o'chirish. ommaviy pochta funksiyalari
  4. SMTP serverida avtorizatsiya: Ha
  5. SMTP xavfsizligi: SSL
  6. SMTP server porti: 465
  7. SMTP foydalanuvchi nomi: gmail.com pochta qutisi, masalan: [elektron pochta himoyalangan]
  8. SMTP paroli: pochta qutisi paroli
  9. SMTP serveri: smtp.gmail.com

Rambler uchun SMTP sozlamalari

  1. Veb-sayt elektron pochtasi: rambler.ru saytidagi pochta qutisi, masalan: [elektron pochta himoyalangan]
  2. Xat jo'natuvchisi: oluvchi tomonidan "Yuborish" maydonida ko'rsatiladigan yozuv

PHPMailer - bu sizning veb-saytingizdan elektron pochta xabarlarini yuborish uchun juda qulay va mashhur kutubxona. Ushbu maqola kutubxonaning asosiy sozlamalarini tavsiflaydi va xabarlarni yuborish uchun kod misollarini beradi. PHPMailer o'z assortimentida pochta bilan ishlashda siz xohlagan hamma narsani o'z ichiga oladi: yuborish turli yo'llar bilan, turli serverlar orqali, shu jumladan smtp orqali, xatlaringizni spamga tushmasligi uchun shifrlash va imzolash qobiliyati va boshqalar.

PHPMailer kutubxonasini https://github.com/PHPMailer/PHPMailer manzilidan yuklab olishingiz mumkin (“Klonlash yoki yuklab olish” tugmasi).

Birinchidan, men bir juftlikni ko'rib chiqaman oddiy misollar PHPMailer yordamida elektron pochta xabarlarini qanday yuborishni aniq qilish uchun.

PHPMailer yordamida mail() funksiyasi orqali elektron pochta xabarlarini yuborish

Agar siz o'zingizning hostingingiz orqali elektron pochta xabarlarini yubormoqchi bo'lsangiz pochta serveri, keyin hamma narsa juda oddiy va shunday ko'rinadi:

// PHPMailer kutubxonasini qo'shing PHPMailer\PHPMailer\PHPMailer foydalaning; "PHPMailer/PHPMailer.php" talab qilinadi; // Xat yaratish $mail = new PHPMailer(); $mail->setFrom(" [elektron pochta himoyalangan]", "Ivan Ivanov"); // kimdan (elektron pochta va ism) $mail->addAddress(" [elektron pochta himoyalangan]", "Vasya Petrov"); // kimga (elektron pochta va ism) $mail->Mavzu = "Test"; // xat mavzusi // html matn harflar $mail->msgHTML("

Salom!

Bu sinov xati.

"); // Send if ($mail->send()) ( echo "Xabar yuborildi!"; ) else ( echo "Xato: " . $mail->ErrorInfo; )

Ko'rib turganingizdek, hamma narsa juda oddiy: biz kutubxonani bog'laymiz, kimdan, kimga, xatning mavzusi va matnini to'ldirib, jo'natamiz. Elektron pochta xabarlarini shu tarzda yuborish faqat domeningizdagi elektron pochta manzillaridan ishlaydi (agar ular boshqa pochta jo'natuvchilariga ulanmagan bo'lsa).

Yandex va Google misolida PHPMailer yordamida SMTP orqali elektron pochta xabarlarini yuborish

Siz xatni boshqa pochta orqali ham yuborishingiz mumkin, masalan, orqali Yandex. Kod shunday ko'rinadi:

// PHPMailer kutubxonasini qo'shing PHPMailer\PHPMailer\PHPMailer foydalaning; PHPMailer\PHPMailer\SMTP-dan foydalaning; "PHPMailer/PHPMailer.php" talab qilinadi; "PHPMailer/SMTP.php" talab qilinadi; // Xat yaratish $mail = new PHPMailer(); $mail->isSMTP(); // SMTP orqali jo'natish $mail->Xost = "smtp.yandex.ru"; // SMTP server manzili $mail->SMTPauth = rost; // SMTP autentifikatsiyasini yoqish $mail->Foydalanuvchi nomi = "login"; // foydalanuvchi nomingiz (domen va @siz) $mail->Parol = "parol"; // parolingiz $mail->SMTPSecure = "ssl"; // ssl shifrlash $mail->Port = 465; // ulanish porti $mail->setFrom(" [elektron pochta himoyalangan]", "Ivan Ivanov"); // kimdan $mail->addAddress(" [elektron pochta himoyalangan]", "Vasya Petrov"); // kimga $mail->Mavzu = "Test"; $mail->msgHTML("

Salom!

Bu sinov xati.

"); // Send if ($mail->send()) ( echo "Xabar yuborildi!"; ) else ( echo "Xato: " . $mail->ErrorInfo; )

Google orqali elektron pochta xabarlarini yuborish bitta ogohlantirish bor: kerak google hisobi ishonchsiz ilovalarga kirishga ruxsat bering. Buni amalga oshirish uchun siz https://myaccount.google.com hisobingizga kirishingiz, xavfsizlikka o'tishingiz, "Hisobingizga kirish huquqiga ega bo'lgan ishonchsiz ilovalar" bo'limiga o'tishingiz va u erda "Ruxsat berilgan" ga o'tishingiz kerak. Yozish vaqtida bu sahifa https://myaccount.google.com/u/0/lesssecureapps.

$mail->Xost = "smtp.gmail.com"; // SMTP server manzili $mail->SMTPauth = rost; // SMTP autentifikatsiyasini yoqish $mail->Foydalanuvchi nomi = "login"; // foydalanuvchi ismingiz $mail->Parol = "parol"; // parolingiz $mail->SMTPSecure = "ssl"; // ssl shifrlash $mail->Port = 465; // ulanish porti

Agar siz smtp orqali yuborish dasturini birinchi marta ishlatayotgan bo'lsangiz, yuborishdan oldin qo'shimcha ravishda foydalanish tavsiya etiladi. $mail->SMTPDebug = 1; mijoz va smtp serveridan barcha xabarlarni olish uchun, ya'ni. Ulanish, avtorizatsiya va hokazolarning butun jarayoni ekranda ko'rsatiladi, bu sizning dasturingizni disk raskadrovka qilish uchun juda foydali.

PHPMailer yordamida ilova bilan elektron pochta xabarini yuborish

Bu erda hamma narsa juda oddiy, siz faqat usuldan foydalanishingiz kerak ilova qo'shish. Men bir misol keltiraman va shu bilan birga yana bir nechtasini ko'rsataman qo'shimcha funktsiyalar:

// PHPMailer kutubxonasini qo'shing PHPMailer\PHPMailer\PHPMailer foydalaning; PHPMailer\PHPMailer\Exception-dan foydalaning; "PHPMailer/PHPMailer.php" talab qilinadi; "PHPMailer/Exception.php" talab qilinadi; // Xat yaratish $mail = yangi PHPMailer; $mail->CharSet = "UTF-8"; $mail->setFrom(" [elektron pochta himoyalangan]", "Ivan Ivanov"); // kimdan $mail->addReplyTo(" [elektron pochta himoyalangan]", "Ivan Ivanov"); // qaytish manzili $mail->addAddress(" [elektron pochta himoyalangan]", "Vasya Petrov"); // kimga $mail->Mavzu = "Test"; // mavzu $mail->msgHTML(file_get_contents("contents.html"), __DIR__); // "tana" ni oling $mail->AltBody faylidagi xat = "Oddiy matnli xat" // agar mijoz html $mail->addAttachment("my_file.txt" // bitta faylni qo'shib qo'ysa, $mail-); >addAttachment("phpmailer) .jpg"); // ikkinchi faylni biriktirish // Send if ($mail->send()) ( echo "Xabar yuborildi!"; ) else ( echo "Xato: " . $mail- >ErrorInfo;

AddAddress yordamida bir nechta qabul qiluvchi manzillarini qo'shishingiz mumkin. Yoki, agar kerak bo'lsa, siz, aksincha, usul yordamida barcha qabul qiluvchi manzillarini tozalashingiz mumkin aniq manzillar(). yordamida barcha biriktirmalarni o'chirishingiz mumkin clearAttachments().

Siz ham foydalanishingiz mumkin AddEmbeddedImage elektron pochtaga html kodida foydalanish uchun moʻljallangan va yuklab olish mumkin boʻlmagan ilovani (odatda rasm) qoʻshish uchun. Yuklab olish mumkin bo'lmagan xatdagi rasmdan foydalanishga misol:

// PHPMailer kutubxonasini qo'shing PHPMailer\PHPMailer\PHPMailer foydalaning; "PHPMailer/PHPMailer.php" talab qilinadi; //Xat yaratish $mail = yangi PHPMailer; $mail->IsHTML(to'g'ri); $mail->setFrom(" [elektron pochta himoyalangan]", "Ivan Ivanov"); $mail->addAddress(" [elektron pochta himoyalangan]", "Vasya Petrov"); $mail->Mavzu = "Test"; $mail->AddEmbeddedImage("phpmailer.jpg","testImage"); $mail->Body = "

Tasvir html kodda

"; // $mail->send();

Shunday qilib, siz yuborishingiz mumkin tasvirlar bilan harflar, ular faqat xatning asosiy qismida joylashgan, ammo ilova sifatida yuklab bo'lmaydi. Ushbu rasmlardan xatning html kodining istalgan joyidan foydalanish mumkin, faqat url manzili o'rniga AddEmbeddedImage-da foydalangan rasm cid-ni ko'rsatish kifoya.

PHPMailer orqali imzolangan va shifrlangan elektron pochta xabarlarini yuborish

Odatiy bo'lib, PHPMailer barcha yuborilgan xabarlarni shifrlaydi. Elektron pochtani shifrlashni faqat kod yordamida SMTP orqali yuborayotganda o'chirib qo'yishingiz mumkin:

$mail->SMTPSecure = noto'g'ri; $mail->SMTPAutoTLS = noto'g'ri;

Kimga xatni DKIM imzosi bilan imzolang, siz bir necha bosqichlarni bajarishingiz kerak:

  • Domeningiz uchun shaxsiy va ochiq kalitlarni yarating
  • Ochiq kalit bilan TXT domeni uchun DNS yozuvini qo'shing
  • Elektron pochta xabarini yuborishdan oldin PHPMailer-da DKIM imzosini sozlang

Endi men har bir qadamni biroz batafsilroq tasvirlab beraman.

Shaxsiy va ochiq kalitlarni yaratish

Agar sizda Linux xostingi bo'lsa va Shell-ga kirish imkoniga ega bo'lsangiz, asosiy fayllarni yaratish armutni o'chirish kabi osondir, siz oddiy foydalanuvchi huquqlaringiz bilan faqat ikkita buyruqni bajarishingiz kerak bo'ladi:

Openssl genrsa -out test-private.pem 1024 openssl rsa -in test-private.pem -out test-public.pem -pubout

Mos ravishda, test-private.pem Va test-public.pem- bu shaxsiy va ochiq kalitlar. Siz ularni saytga tashrif buyuruvchilar yoki sizdan boshqa hech kimga kira olmaydigan papkada saqlashingiz kerak.

Agar qobiqdagi buyruqlarni bajarish imkoni bo'lmasa, shaxsiy va ochiq kalitlarni yaratish va ularni fayllarga saqlash uchun siz quyidagi koddan foydalanishingiz mumkin:

$domen = "test.ru"; // domeningiz $privatekeyfile = "test-private.pem"; // maxfiy kalit yoziladigan fayl nomi $publickeyfile = "test-public.pem"; // agar (file_exists($privatekeyfile)) ochiq kalit yoziladigan fayl nomi ( echo "

Mavjud kalitlardan foydalanish

"; $privatekey = file_get_contents($privatekeyfile); $publickey = file_get_contents($publickeyfile); ) else ( echo "

Kalitlarni yarating"; $pk = openssl_pkey_new([ "digest_alg" => "sha256", "private_key_bits" => 2048, "private_key_type" => OPENSSL_KEYTYPE_RSA, ]); openssl_pkey_export_to_file, $pkey_file =private_key; _tafsilotlari ($pk $publickey = $pubKey["key"];

Shaxsiy kalit (maxfiy saqlang!):

". $privatekey."
"; aks-sado "

Ochiq kalit:

". $publickey ."
";

Diqqat! Fayllar saqlanadigan papka yozilishi mumkinligiga ishonch hosil qilishni unutmang.

Ochiq kalit bilan DNS yozuvini qo'shish

Sizning xatlaringizni qabul qiladigan pochta serverlari domeningizning DNS yozuvini o'qib, xatdagi imzoni tekshirishlari uchun DNS yozuvi kerak. Odatda, siz domen boshqaruv panelida yoki hosting boshqaruv panelida DNS yozuvini qo'shishingiz mumkin. Agar yozuvni qanday qo'shishni bilmasangiz, hosting provayderingizning yordamiga murojaat qiling.

Quyidagi kabi DNS yozuvini qo'shishingiz kerak:

Kirish nomi: mail._domainkey.test.ru. (oxirida "." nuqta bor)

TTL: 3600 (yoki qaysi biri standart bo'ladi)

Xabar turi: XABAR

Ma'nosi: v=DKIM1; h=sha256; t=s; p=YOUR_PUBLIC_KEY

Kirish nomida test.ru domen nomingiz bilan almashtirilishi kerak. Siz “YOUR_PUBLIC_KEY” so‘zlarini “Ommaviy kalit”dan keyingi oldingi bosqichda olingan matn bilan “-----BEGIN PUBLIC KEY-----” va “-----END OMAVCHI KEY-”siz almashtirasiz. -- --", faqat kalitning o'zi. Bunday holda, kalitning barcha satrlari kerak bo'ladi bir uzun qatorga birlashtiring Shunday qilib, qator uzilishlari bo'lmaydi.

PHPMailer-da DKIM imzosini sozlash va elektron pochta xabarini yuborish

Endi xatni yuborishdan oldin bir nechta PHPMailer sozlamalarini qilish qoladi va u imzolanadi. O'ylaymanki, quyidagi misol hamma narsani aniqlab beradi:

// PHPMailer\PHPMailer\PHPMailer-dan foydalanish kutubxonasini qo'shing; "PHPMailer/PHPMailer.php" talab qilinadi; // Xat yaratish $mail = yangi PHPMailer; $mail->CharSet = "UTF-8"; $mail->setFrom(" [elektron pochta himoyalangan]"); $mail->addAddress(" [elektron pochta himoyalangan]"); $mail->Mavzu = "Bu sinov"; $mail->msgHTML("

Bu sinov

"); // DKIM imzosini sozlash $mail->DKIM_domain = "test.ru"; $mail->DKIM_private = "test-private.pem"; $mail->DKIM_selector = "mail"; // $ yuboring pochta->send();

Albatta test.ru domen nomingizga o'zgartirishingiz kerak va test-private.pem kalit yaratish bosqichida yaratilgan shaxsiy kalit faylining to'liq yo'li va nomiga.

Endi PHPMailer orqali yuborilgan elektron pochta xabarlaringiz shaxsiy kalitingiz bilan DKIM tomonidan imzolanadi.

2019-08-05

Salom, aziz mehmon!

Iltimos, blogni yangilashdagi kechikish uchun meni kechiring. Ammo buning uchun mutlaqo tushunarli tushuntirish mavjud. Axir, yoz, dacha, mehmonlar, o'rmon, suv va boshqa ko'p narsalar edi, bu menga veb-sayt yaratish masalalarini hal qilishga imkon bermadi. Ammo endi men biroz bo'shashdim, mehmonlar ketishdi va men bunga albatta e'tibor bera olaman deb o'ylayman.

Shunday qilib, oxirgi maqolada biz domenimiz pochtasini pochta xizmatlaridan biriga ulaganimizdan so'ng, endi saytdan qanday qilib elektron pochta xabarlarini yuborishingiz mumkinligini ko'rib chiqamiz. Bundan tashqari, bizning maktublarimiz SPAMda qolmasligi uchun, balki ishonchli tarzda, yuqori ehtimollik bilan qabul qiluvchilarimizga yetkaziladi.

Umuman olganda, PHP da xat yuborish uchun o'rnatilgan mail() funksiyasi mavjud. Ammo shuni ta'kidlash kerakki, ushbu usulning soddaligiga qaramay (bu holda, xatlarni yuborish uchun ma'lum parametrlarga ega bo'lgan bitta kod qatorini ko'rsatish kifoya), ushbu parametrdan foydalanish SPAM muammosi bilan bog'liq sezilarli kamchilikka ega. .

Gap shundaki, qabul qiluvchi tomonidagi pochta serverlarining SPAM-ga qarshi filtrlari mail() funksiyasi orqali yuborilgan xatlarni yoqtirmaydi. Va ko'p hollarda, bunday xabarlar qabul qiluvchiga etib borishdan oldin filtrlanadi yoki hatto o'chiriladi.

Va bunday holatlarni iloji boricha yo'q qilish uchun odatda boshqa variant qo'llaniladi, unda xatlar uchinchi tomon pochta xizmati tomonidan amalga oshirilgandek yuboriladi.

Ushbu usul avtorizatsiya bilan SMTP orqali pochta jo'natish deb ataladi. Biz bugun fikr-mulohaza shaklini yuborish misolidan foydalanib ko'rib chiqamiz. Bundan tashqari, buning uchun biz juda mashhur va mashhur PHPMailer kutubxonasidan foydalanamiz, bu esa SMTP orqali xat yuborishni tashkil qilishni juda oson qiladi.

  • Fikr-mulohaza xatlarini qanday yuboramiz
  • Fikr-mulohaza shaklini yaratish
  • PHPMailer kutubxonasini o'rnatish
  • Biz SMTP orqali pochta jo'natish uchun skript yaratamiz
  • Elektron pochta jo'natmalari tekshirilmoqda
  • Manba fayllar sayt

Fikr-mulohaza xatlarini qanday yuboramiz

Boshlashdan oldin amaliy ish Fikr-mulohaza maktublarini yuborganimizdan so'ng, biz avval buni qanday qilishimizni hal qilamiz.

Fikr-mulohaza shakli foydalanuvchiga sayt ma'muri bilan muloqot qilish va o'z xabarini etkazish uchun mo'ljallangan. Odatda, bu shakl bir nechta maydonlardan va "Yuborish" tugmasidan iborat.

Aslida, elektron pochta xabarini yuborish uchun foydalanuvchi va xabarning mazmuni haqida etarli ma'lumot beradigan bir nechta maydonlardan foydalanish kifoya, masalan:

  • "Ism" - xabar jo'natuvchining nomini kiritish;
  • "E-mail" - jo'natuvchining elektron pochta manzili uchun;
  • "Xabar mavzusi";
  • "Xabar matni".

Garchi siz boshqalarni qo'shishingiz mumkin. Masalan, agar bu haqiqatan ham zarur bo'lsa, telefon raqami.

Bizning holatda, bunday xatlar sayt ma'murining manziliga bizning domenimiz ulangan pochta xizmatiga ruxsat berilgan haqiqiy pochta qutisidan yuboriladi.

Avvalgi maqolada biz domen pochtasining Yandex.Mail xizmatiga ulanishini tekshirishga e'tibor qaratganimiz sababli, biz ushbu parametr uchun pochta jo'natamiz. Garchi bu muhim bo'lmasa-da. Quyida siz o'zgartirilganda Mail.ru pochta serveri orqali elektron pochta xabarlarini yuborish imkonini beradigan variantlarni ko'rasiz.

Xatlar yuboriladigan haqiqiy pochta qutisi sifatida biz yangi yaratilgan domen pochtasi foydalanuvchisining hisob qaydnomasidan foydalanamiz, masalan, manzili bilan. [elektron pochta himoyalangan]. Va biz bu xatlarni administratorning pochta qutisiga yuboramiz [elektron pochta himoyalangan], biz oldingi maqolada avval yaratgan edik.

Shunday qilib, fikr-mulohaza shaklidan xat jo'natuvchisi pochta qutisi bo'ladi [elektron pochta himoyalangan]., va qabul qiluvchi - [elektron pochta himoyalangan]. Bunday holda, xabarni mazmuni bilan yuborgan foydalanuvchi haqidagi barcha ma'lumotlar yuborilgan xatning asosiy qismida uzatiladi.

Fikr-mulohaza shaklini yaratish

Xatlarni yuborish tartibi to'g'risida qaror qabul qilganimizdan so'ng, endi biz buni amalga oshiradigan fikr-mulohaza shaklini yaratamiz.

Quyida ushbu formaning HTML kodi keltirilgan bo'lib, biz uni "Kontaktlar" sahifasiga joylashtiramiz (maqolalar katalogidagi kontakty.php fayli).

    "maqola" >

    Kontaktlar

    Fikr-mulohaza

    "aloqa" harakat = "#" usuli = "post" >

    Fikr-mulohaza shakli

    Barcha savollar, so'rovlar va biznes takliflar bo'yicha quyidagi fikr-mulohazalar formasi orqali biz bilan bog'lanishingiz mumkin.

    "Aloqa bloki" >

    "kontaktni kiritish" >

    "matn" id = "kontakt nomi" nomi = "kontakt nomi" sarlavha = "Ism rus tilida bo'lishi va kamida 3 ta belgidan iborat bo'lishi kerak" naqsh = "{3,}" zarur >

  1. "bo'sh kontakt" >

    "kontaktni kiritish" >

    "elektron pochta" id = "aloqa elektron pochtasi" nomi = "aloqa elektron pochtasi" zarur >

  2. "aloqa mavzusi" >

  3. "kontakt-sharh" >

  4. "aloqa tugmasi" >

    "yuborish" nomi = "aloqa tugmasi" qiymat = "Yuborish" >

Fig.1 Fikr-mulohaza shaklining HTML kodi

Bu erda ko'rsatilgan fikr-mulohaza shakli oxir-oqibat qanday ko'rinishini quyidagi skrinshotda ko'rishingiz mumkin.

Shunday qilib, kerakli shakl yaratiladi. Va endi siz elektron pochta xabari shaklida ma'lumotlarni qayta ishlash va jo'natish masalalariga o'tishingiz mumkin.

PHPMailer kutubxonasini o'rnatish

Yuqorida ta'kidlab o'tilganidek, pochta jo'natish uchun biz PHPMailer kutubxonasidan foydalanamiz, bu orqali elektron pochta xabarlarini yuborishni sezilarli darajada soddalashtiradi. SMTP protokoli uchinchi tomon pochta xizmatida avtorizatsiya bilan.

Uni o'rnatish uchun siz yuklab olishingiz kerak kerakli fayllar. Buni GitHub veb-xizmatidan Composer (PHP uchun paketga bog'liqlik menejeri) yordamida amalga oshirish mumkin. Yoki oddiy tarzda kerakli fayllarni yuklab oling.

skrinshot 73

Quyida PHPMailer kutubxonasini muntazam yuklab olish uchun havola belgilangan GitHub veb-xizmati sahifasi joylashgan.

Bundan tashqari, oxirgi versiya Ushbu maqolani yozish paytida saqlangan 6.0.7 ni biriktirilgan materiallardan yuklab olish mumkin.

Qanday bo'lmasin, natijada olingan arxiv faylini ochish kerak, shundan so'ng chiqarilgan PHPMailer-master papkasi barcha mazmuni bilan saytning ildiziga joylashtirilishi kerak. Shu bilan birga, soddaligi uchun uni PHPMailer nomini o'zgartirishingiz mumkin. Quyida saytning asosiy katalogiga joylashtirilgan PHPMailer papkasining mazmuni keltirilgan.

Shunday qilib, biz PHPMailer kutubxonasini o'rnatdik. Shundan so'ng biz veb-saytimizdan elektron pochta xabarlarini yuboradigan skript yaratishni boshlashimiz mumkin.

Biz SMTP orqali pochta jo'natish uchun skript yaratamiz

Skriptni yaratish uchun biz avval kutubxonani yuklab olishda foydalangan GitHub sahifasida berilgan PHPMailer-dan foydalanish bo'yicha tavsiyalardan foydalanish kifoya.

Ular, xususan, skript boshida PHPMailer sinflarini global nomlar maydoniga import qilish talab qilinishini ko'rsatadi. Va tegishli kodning maxsus satrlari berilgan. Shuningdek, PHPMailer xususiyatlari va usullaridan foydalanish misollari mavjud, jumladan, SMTP orqali pochta jo'natish imkoniyati uchun.

Ammo bu etarli bo'lmasa, siz ushbu kutubxonaning barcha xususiyatlari va usullarining tavsifini o'z ichiga olgan hujjatlardan ham foydalanishingiz mumkin.

skrinshot 74

Quyida avtorizatsiya bilan SMTP orqali fikr-mulohaza shaklidan xat yuborish uchun skript kodi keltirilgan. Bu erda PHPMailer bilan bog'liq barcha satrlar tushuntirish bilan berilgan va engil fon bilan ta'kidlangan.

Qolgan qismi, shu jumladan, biz boshqa protsessorlarda foydalanishimiz kerak bo'lgan shakldan ma'lumotlarni qabul qilish va qayta ishlash bilan bog'liq bo'lgan qismlar qorong'i fon bilan ko'rsatilgan. Ular avvalroq PHP da shakldan ma'lumotlarni olish va tekshirish masalalariga bag'ishlangan maqolada batafsil muhokama qilingan. Shakl ma'lumotlarini tekshirish va qayta ishlash uchun universal foydalanuvchi funktsiyasi haqida ham gaplashdik check_symbol().

Biz ushbu skriptni avval fikr-mulohaza shaklini yaratgan kontakty.php fayliga joylashtiramiz.

    //----PHPMailer yordamida SMTP orqali xat yuborish uchun skript----

    // PHPMailer sinflarini global nomlar maydoniga import qiling. Ular funktsiya ichida emas, balki skriptning yuqori qismida bo'lishi kerak

    foydalanish PHPMailer\PHPMailer\PHPMailer;

    foydalanish PHPMailer\PHPMailer\Exception;

    agar (!bo'sh($_POST["kontakt tugmasi" ])) (

    $name = $_POST["kontakt nomi" ];

    $name = check_symbol ($name, "Ism" , "1" , "/^+\z/iu");

    $email = $_POST["contact-email" ];

    $email = check_symbol ($email, "E-mail" , "1" , "/^+@(+\.)+(2,6)\z/i");

    $subject = $_POST["kontakt-mavzu" ];

    $subject = check_symbol ($subject, "Xabar mavzusi" , "1" , "0" );

    $comment = $_POST["contact-comment" ];

    $comment = check_symbol ($comment, "Xabar matni", "1" , "0" );

    agar (!bo'sh($GLOBALS["alert" ])) (

    $alert = "Forma ma'lumotlari yuborilmadi. Quyidagi xatolar topildi:\n".$alert;

    o'z ichiga oladi"alert.php" ;

    boshqa {

    //Kutubxonani ulash

    talab qiladi"PHPMailer/src/PHPMailer.php" ;

    talab qiladi"PHPMailer/src/Exception.php" ;

    talab qiladi"PHPMailer/src/SMTP.php" ;

    $mail = yangi PHPMailer(); //Kinfni ishga tushiring

    $dan = " [elektron pochta himoyalangan]" ; //Xat yuborilgan elektron pochta manzili

    $to = " [elektron pochta himoyalangan]" ; // Qabul qiluvchining manzili

    $mail -> isSMTP(); //SMTP protokolidan foydalaning

    $mail -> Xost = "smtp.yandex.ru" ; //Pochta serveri manzili

    $mail -> SMTPAuth = rost ; // Avtorizatsiya rejimini yoqing

    $mail -> Foydalanuvchi nomi = " [elektron pochta himoyalangan]" ; //Uchinchi tomon elektron pochta xizmatiga ulangan elektron pochta domenidan kirish (bu holda Yandex.Mail)

    $mail -> Parol = "27MrDon89" ; //Domen pochtasi uchun parol

    $mail -> SMTPSecure = "ssl" ; //Shifrlash protokoli

    $mail -> Port = "465" ; //SMTP server porti

    $mail -> CharSet = "UTF-8" ; //Kodlash

    $mail -> setFrom ($from, "Administrator" ); // Yuboruvchining manzili va nomi

    $mail -> qo'shimcha manzil ($to, "Administrator" ); //Qabul qiluvchining manzili va ismi

    $mail -> isHTML ( rost ); // Elektron pochta formatini HTML ga o'rnating

    $mail -> Mavzu = "Fikr-mulohaza shakli topshirildi"; // Elektron pochta mavzusi (sarlavha)

    $mail -> Tana = "

    Yuboruvchining ismi: $name

    Yuboruvchining manzili: $elektron pochta

    Xabar mavzusi: $mavzu

    Xabar mazmuni: $ sharh

    " ; //Xabar mazmuni

    $mail -> AltBody = "Muqobil harf matni"; //Agar elektron pochta mijozi HTML formatini qo'llab-quvvatlamasa, muqobil elektron pochta

    $mail -> SMTPDebug = 0 ; //SMTP nosozliklarini tuzatishni yoqish: 0 - o'chirilgan (oddiy foydalanish uchun), 1 = mijoz xabarlari, 2 - mijoz va server xabarlari

    agar($mail -> send()) (

    $alert = "Xabar yuborildi"; //Brauzerning muloqot oynasida xat muvaffaqiyatli yuborilganligi haqida xabar chiqaring

    boshqa {

    $alert = "Xato, elektron pochta xabarini yuborib bo'lmadi:".$mail -> ErrorInfo ; //Xato xabarini chiqaring

    o'z ichiga oladi"alert.php" ;

Fig.5 Avtorizatsiya bilan SMTP orqali elektron pochta xabarlarini yuborish uchun skript

Ko'rib turganingizdek, elektron pochta xabarini yuborish bilan bevosita bog'liq bo'lgan barcha qatorlar, unda kerakli usullar va xususiyatlar ko'rsatilgan, sharhlar bilan birga keladi. Shuning uchun, o'zimizni takrorlashning ma'nosi yo'q, lekin biz ulardan faqat ba'zilari haqida to'xtashimiz mumkin, ular haqiqatan ham qo'shimcha tushuntirishlarni talab qiladi, xususan:

1. Xat uchinchi tomon pochta xizmatidan yuborilganligi sababli, bu erda ma'lum SMTP serveriga mos keladigan sozlamalar qo'llaniladi. Bunday holda, Yandex.Mail serveridan foydalanish uchun quyidagi xususiyat qiymatlari qo'llaniladi:

  • Mulk Xost(pos.28) - smtp.yandex.ru qiymatiga ega pochta serveri manzili;
  • Mulk SMTPSecure
  • Mulk Port

Ushbu xususiyat qiymatlari quyidagi skrinshotda ko'rsatilgan Yandex.Yordam sahifasidan olingan.

Ammo bunday ma'lumotlarni boshqa manbalardan ham olish mumkin. Buni amalga oshirish uchun qidiruv tizimiga tegishli so'rovni kiriting, masalan: "Yandex smtp serveri". Bu masala bo'yicha ko'p sonli havolalarni qayerdan topishingiz mumkin.

Xuddi shunday, sozlamalar qiymatlarini boshqa SMTP serverlaridan olish mumkin. Quyida Mail.ru pochta xizmatining SMTP serveri sozlamalarini aks ettiruvchi Mail.ru Yordam sahifasining skrinshoti keltirilgan.

Shunday qilib, Mail.ru-dan uchinchi tomon SMTP serveri sifatida foydalanilganda, PHPMailer sinfi xususiyatlarining quyidagi qiymatlari qo'llanilishi kerak:

  • Mulk Xost(pos.28) - pochta serveri manzili (smtp.mail.ru);
  • Mulk SMTPSecure(poz.32) - shifrlash protokoli (ssl);
  • Mulk Port(poz. 33) - SMTP server porti (465).

Xuddi shunday yondashuv boshqa elektron pochta xizmatlariga ham qo'llanilishi kerak.

2. Mulkda Foydalanuvchi nomi(poz. 30) domen pochta qutisining to'liq manzilini ko'rsatish kerak. Ushbu holatda, " [elektron pochta himoyalangan]".

Biroq, agar siz xat yuborish uchun domen pochta hisob qaydnomasidan boshqa hisobdan foydalansangiz, lekin pochta xizmatiga bevosita bog'liq bo'lgan manzil, masalan, " [elektron pochta himoyalangan]", keyin login manzilning faqat "@" belgisigacha bo'lgan qismi bo'lishi kerak. Bunday holda, login "teskari aloqa" qiymatiga ega bo'ladi.

3. PHPMailer xususiyatni taqdim etadi SMTPDebug(pos. 50), bu brauzer ekranida turli darajadagi xatolarni ko'rsatish imkonini beradi. Bu xususiyat skriptni tuzatishda muammolarni topishni sezilarli darajada osonlashtiradi.

Odatda, normal rejimda, qiymat 0 ga o'rnatilganda, batafsil xato ma'lumotlarining chiqishi o'chiriladi. Ammo agar xat yuborish yoki disk raskadrovka paytida muammolar yuzaga kelsa, xato haqida yanada mazmunli ma'lumotlarni ko'rsatish uchun boshqa qiymatlardan foydalanish mumkin.

Bu amalda qanday ko'rinishini ko'rish uchun, keling, sozlamalarga vaqtincha xatolik kiritamiz. Masalan, domendagi pochta parolida (mulk Parol, post.31). Shuningdek, mulkda vaqtincha o'rnatilgan xato haqida batafsil ma'lumotni ko'rsatish uchun SMTPDebug(pos.50) qiymat 1. Har bir narsa tuzatilgan va tekshirilgandan so'ng, biz SMTP disk raskadrovka rejimini o'chirib qo'yamiz, 1 ni 0 bilan almashtiramiz.

Skriptning yakuniy qismida barcha kerakli xususiyatlar va usullarni ko'rsatgandan so'ng, usul xatni yuborish uchun ishlatiladi. yuborish()) (51-poz.). Va agar xat yuborilsa va usul yuborish() ob'ekt uchun $mail rostni qaytaradi, keyin o'zgaruvchi orqali brauzer dialogida $ ogohlantirish Muvaffaqiyatli pochta jo'natmalari haqida xabar ko'rsatiladi (52-poz).

Agar biron sababga ko'ra pochta jo'natilmagan bo'lsa va shunga ko'ra usul haqiqatga qaytmasa, bu holat tegishli xato xabari bilan birga keladi (55-post).

Elektron pochta jo'natmalari tekshirilmoqda

Pochta jo'natish uchun skriptni yaratganimizdan so'ng, tabiiyki, biz "ijodkorligimiz" natijasiga qarashimiz kerak. Biz bu erda hamma narsani hisobga oldikmi va hech qanday xatoga yo'l qo'ymadikmi?

Buni amalga oshirish uchun, keling, fikr-mulohaza shaklidan foydalanuvchidan sayt ma'muriga xabar yuborishga harakat qilaylik. Quyida fikr-mulohaza shaklining skrinshoti, u yuborilishidan oldin to‘ldirilgan maydonlar mavjud.

Va mana bu shaklni topshirish natijasi.

Brauzer dialog oynasidagi xabardan SMTP ulanishidagi muammo tufayli xatni yuborish mumkin emasligi aniq.

Ammo, hozirdan beri mulk SMTPDebug(poz. 50) 1-qiymati beriladi, keyin biz sodir bo'lgan xato haqida batafsil ma'lumotni ko'rishimiz va uning paydo bo'lish sababini bilib olamiz.

Quyidagi skrinshotda ulanishga urinayotganda autentifikatsiya xatosi aniqlanganligi, ya'ni noto'g'ri login yoki paroldan foydalanilganligini ko'rsatadi.

Parol nomuvofiqligini bartaraf etgandan so'ng (ilgari xato haqida qo'shimcha ma'lumot chiqishini tekshirish uchun noto'g'ri parol ishlatilgan), biz xatni yana yuborishga harakat qilamiz.

Bu safar hammasi yaxshi bo'lib tuyuldi va biz pochta muvaffaqiyatli yuborilganligi haqida xabar oldik. Ko'rinishidan, domen pochta parolida ataylab kiritilgan vaqtinchalik xatolikdan tashqari, biz boshqa xatolarga yo'l qo'ymadik.

Ammo xat haqiqatan ham adresatga etkazilganligiga ishonch hosil qilish uchun manzili ko'rsatilgan pochtani kiritamiz. [elektron pochta himoyalangan] va natijaga qarang.

Ko'rib turganingizdek, manzildan xat [elektron pochta himoyalangan], undan biz "Fikr-mulohaza" nomli elektron pochta xabarini yubordik, sayt ma'muriga muvaffaqiyatli etib keldi. Shu bilan birga, xatning asosiy qismida fikr-mulohaza shaklidan olingan ma'lumotlardan foydalangan holda skriptda yaratgan barcha tarkib mavjud, xususan:

  • Yuboruvchining ismi: Nikolay;
  • Yuboruvchining manzili: [elektron pochta himoyalangan];
  • Xabar mavzusi: pochta jo'natilishi tekshirilmoqda;
  • Xabar mazmuni: Sinov xabari.

Endi, pochta jo'natmalarini muvaffaqiyatli tekshirgandan so'ng, xususiyatni belgilash orqali SMTP disk raskadrovka rejimini o'chirib qo'yishingiz mumkin. SMTPDebug(poz.50) qiymati 0.

Shunday qilib, biz uchinchi tomon pochta serveridan foydalangan holda avtorizatsiya bilan SMTP orqali pochta jo'natish vositasini yaratish vazifasini bajardik.

Misol uchun, keyingi maqolada biz ro'yxatdan o'tgan foydalanuvchi hisobi ma'lumotlarini tiklash uchun tasdiqlovchi elektron pochta xabarlarini qanday yuborishni ko'rib chiqamiz.

Sayt manba fayllari

Ushbu maqolada kiritilgan yangilanishlar bilan saytning manba fayllarini ilova qilingan qo'shimcha materiallardan yuklab olish mumkin:

  • www katalog fayllari
  • MySQL ma'lumotlar bazasi jadvallari

© 2024 ermake.ru -- Kompyuterni ta'mirlash haqida - Axborot portali