PHP slanje pošte putem Yandex smtp. Slanje pošte putem SMTP-a sa lokalnog servera

Dom / Instaliranje programa

PHPMailer je veoma zgodna i popularna biblioteka za slanje e-pošte poruke sa vaše stranice. Ovaj članak opisuje osnovne postavke biblioteke i daje primjere koda za slanje poruka. PHPMailer u svom asortimanu ima možda sve što možete poželjeti od rada sa poštom: slanje na različite načine, preko različitih servera, uključujući putem smtp-a, mogućnost šifriranja i potpisivanja vaših pisama kako ne bi završila u neželjenoj pošti i još mnogo toga.

PHPMailer biblioteku možete preuzeti sa https://github.com/PHPMailer/PHPMailer (dugme "Kloniraj ili preuzmi").

Prvo ću pogledati par jednostavni primjeri da bude jasno kako slati e-poštu koristeći PHPMailer.

Slanje e-pošte putem funkcije mail() koristeći PHPMailer

Ako želite da šaljete e-poštu sa svog hostinga putem vašeg mail server, onda je sve prilično jednostavno i izgledat će otprilike ovako:

// Uključuje PHPMailer biblioteku koristeći PHPMailer\PHPMailer\PHPMailer; zahtijevaju "PHPMailer/PHPMailer.php"; // Kreirajte pismo $mail = new PHPMailer(); $mail->setFrom(" [email protected]", "Ivan Ivanov"); // od koga (e-mail i ime) $mail->addAddress(" [email protected]", "Vasya Petrov"); // kome (e-mail i ime) $mail->Subject = "Test"; // predmet pisma // html tekst slova $mail->msgHTML("

Zdravo!

Ovo je probno pismo.

"); // Pošalji if ($mail->send()) ( echo "Poruka je poslata!"; ) else ( echo "Greška: " . $mail->ErrorInfo; )

Kao što vidite, sve je prilično jednostavno: povezujemo biblioteku, popunjavamo od koga, kome, temu i tekst pisma i šaljemo ga. Slanje e-pošte na ovaj način funkcionirat će samo s adresa e-pošte na vašoj domeni (osim ako nisu povezane s drugim pošiljateljima pošte).

Slanje e-pošte putem SMTP-a koristeći PHPMailer na primjeru Yandex-a i Google-a

Pismo možete poslati i putem druge pošte, na primjer putem Yandex. Kod će izgledati otprilike ovako:

// Uključuje PHPMailer biblioteku koristeći PHPMailer\PHPMailer\PHPMailer; koristite PHPMailer\PHPMailer\SMTP; zahtijevaju "PHPMailer/PHPMailer.php"; zahtijevaju "PHPMailer/SMTP.php"; // Kreirajte pismo $mail = new PHPMailer(); $mail->isSMTP(); // Slanje putem SMTP-a $mail->Host = "smtp.yandex.ru"; // Adresa SMTP servera $mail->SMTPAuth = true; // Omogući SMTP autentifikaciju $mail->Username = "login"; // vaše korisničko ime (bez domene i @) $mail->Password = "password"; // vaša lozinka $mail->SMTPSecure = "ssl"; // ssl enkripcija $mail->Port = 465; // priključak za vezu $mail->setFrom(" [email protected]", "Ivan Ivanov"); // od koga $mail->addAddress(" [email protected]", "Vasya Petrov"); // kome $mail->Subject = "Test"; $mail->msgHTML("

Zdravo!

Ovo je probno pismo.

"); // Pošalji if ($mail->send()) ( echo "Poruka je poslata!"; ) else ( echo "Greška: " . $mail->ErrorInfo; )

Slanje e-pošte putem Google-a ima jedno upozorenje: morate google račun dozvolite pristup nepouzdanim aplikacijama. Da biste to učinili, morate otići na svoj račun https://myaccount.google.com, otići na sigurnost, otići u odjeljak "Nepouzdane aplikacije koje imaju pristup vašem računu" i tamo prebaciti na "Dozvoljeno". U vrijeme pisanja, ova stranica je https://myaccount.google.com/u/0/lesssecureapps.

$mail->Host = "smtp.gmail.com"; // Adresa SMTP servera $mail->SMTPAuth = true; // Omogući SMTP autentifikaciju $mail->Username = "login"; // vaše korisničko ime $mail->Password = "password"; // vaša lozinka $mail->SMTPSecure = "ssl"; // ssl enkripcija $mail->Port = 465; // priključni port

Ako prvi put pokrećete program za slanje putem smtp-a, preporučljivo je da ga dodatno koristite prije slanja $mail->SMTPDebug = 1; primati sve poruke od klijenta i smtp servera, tj. Cijeli proces povezivanja, autorizacije itd. će biti prikazan na ekranu, što je vrlo korisno za otklanjanje grešaka u vašem programu.

Slanje e-pošte sa prilogom koristeći PHPMailer

Ovdje je sve prilično jednostavno, samo trebate koristiti metodu addAttachment. Navest ću primjer i istovremeno pokazati još nekoliko dodatne funkcije:

// Uključuje PHPMailer biblioteku koristeći PHPMailer\PHPMailer\PHPMailer; koristite PHPMailer\PHPMailer\Exception; zahtijevaju "PHPMailer/PHPMailer.php"; zahtijevaju "PHPMailer/Exception.php"; // Kreirajte pismo $mail = new PHPMailer; $mail->CharSet = "UTF-8"; $mail->setFrom(" [email protected]", "Ivan Ivanov"); // od koga $mail->addReplyTo(" [email protected]", "Ivan Ivanov"); // povratna adresa $mail->addAddress(" [email protected]", "Vasya Petrov"); // kome $mail->Subject = "Test"; // predmet $mail->msgHTML(file_get_contents("contents.html"), __DIR__); // dobijemo "tijelo" pisma iz datoteke $mail->AltBody = "Pismo običnog teksta" ako klijent ne podržava html $mail->addAttachment("my_file.txt"); >addAttachment("phpmailer) .jpg" // priložite drugu datoteku // Pošalji if ($mail->send()) ( echo "Poruka je poslata!"; ) else ( echo "Greška: " . $mail-). >ErrorInfo )

Možete dodati više adresa primatelja koristeći addAddress. Ili, ako je potrebno, možete, naprotiv, obrisati sve adrese primatelja pomoću metode clearAddresses(). Možete izbrisati sve priloge koristeći clearAttachments().

Također možete koristiti AddEmbeddedImage da dodate prilog (obično sliku) u e-poštu, koji je namijenjen za korištenje u html kodu i neće biti dostupan za preuzimanje. Primjer korištenja slike u pismu koje nije dostupno za preuzimanje:

// Uključuje PHPMailer biblioteku koristeći PHPMailer\PHPMailer\PHPMailer; zahtijevaju "PHPMailer/PHPMailer.php"; //Kreiraj pismo $mail = novi PHPMailer; $mail->IsHTML(true); $mail->setFrom(" [email protected]", "Ivan Ivanov"); $mail->addAddress(" [email protected]", "Vasya Petrov"); $mail->Subject = "Test"; $mail->AddEmbeddedImage("phpmailer.jpg","testImage"); $mail->Body = "

Slika u html kodu

"; // Pošalji $mail->send();

Tako da možete poslati slova sa slikama, koji se nalaze samo u tijelu pisma, ali se ne mogu preuzeti kao prilog. Ove slike se mogu koristiti bilo gdje u html kodu pisma, samo trebate navesti cid slike koji ste koristili u AddEmbeddedImage umjesto url adrese.

Slanje potpisane i šifrirane e-pošte putem PHPMailera

Po defaultu, PHPMailer šifrira sve poslate poruke. Enkripciju e-pošte možete onemogućiti samo kada šaljete e-poštu putem SMTP-a koristeći kod:

$mail->SMTPSecure = lažno; $mail->SMTPAutoTLS = netačno;

To potpišite pismo DKIM potpisom, potrebno je izvršiti nekoliko koraka:

  • Generirajte privatne i javne ključeve za svoju domenu
  • Dodajte DNS zapis za TXT domen sa javnim ključem
  • Konfigurišite DKIM potpis u PHPMailer-u prije slanja e-pošte

Sada ću malo detaljnije opisati svaki korak.

Generisanje privatnih i javnih ključeva

Ako imate Linux hosting i imate pristup Shell-u, onda je generiranje ključnih datoteka jednako jednostavno kao i ljuštenje krušaka, trebate samo pokrenuti 2 naredbe sa vašim normalnim korisničkim pravima:

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

odnosno test-private.pem I test-public.pem- ovo su privatni i javni ključevi. Morate ih sačuvati u folderu koji neće biti dostupan posjetiteljima stranice ili bilo kome drugom osim vama.

Ako nije moguće izvršiti naredbe u ljusci, tada za generiranje privatnih i javnih ključeva i njihovo spremanje u datoteke možete koristiti sljedeći kod:

$domain = "test.ru"; // vaš domen $privatekeyfile = "test-private.pem"; // ime datoteke u kojoj će biti napisan privatni ključ $publickeyfile = "test-public.pem"; // ime datoteke u koju će biti upisan javni ključ if (file_exists($privatekeyfile)) ( echo "

Korištenje postojećih ključeva

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

Kreirajte ključeve"; $pk = openssl_pkey_new([ "digest_alg" => "sha256", "private_key_bits" => 2048, "private_key_type" => OPENSSL_KEYTYPE_RSA, ]); openssl_pkey_export_to_file _get_details($pk $publickey = $publickey["key"] ($publickeyfile, $privatekey = file_get_contents($privatekeyfile);

Privatni ključ (čuvajte ovo privatnim!):

" . $privatekey ."
"; eho"

Javni ključ:

" . $publickey ."
";

Pažnja! Ne zaboravite da se uverite da je u fasciklu u koju će datoteke biti sačuvane moguće pisati.

Dodavanje DNS zapisa sa javnim ključem

DNS zapis je potreban kako bi serveri e-pošte koji će primati vaša pisma mogli provjeriti potpis na pismu čitanjem DNS zapisa vašeg domena. Obično možete dodati DNS zapis na kontrolnu tablu svoje domene ili na kontrolnu tablu za hosting. Ako ne znate kako dodati unos, kontaktirajte podršku vašeg hosting provajdera.

Morate dodati DNS zapis ovako:

Naziv unosa: mail._domainkey.test.ru. (na kraju se nalazi tačka ".")

TTL: 3600 (ili šta god će biti zadano)

Vrsta objave: TXT

Značenje: v=DKIM1; h=sha256; t=s; p=VAŠ_JAVNI_KLJUČ

U nazivu unosa test.ru mora biti zamijenjen vašim imenom domene. Riječi "VAŠ_PUBLIC_KEY" zamjenjujete tekstom koji ste primili u prethodnom koraku nakon "Javni ključ", bez "-----POČETNI JAVNI KLJUČ-----" i "-----KRAJ JAVNI KLJUČ- -- --", samo sam ključ. U ovom slučaju su potrebne sve ključne linije spojiti u jednu dugu liniju tako da nema preloma redova.

Postavljanje DKIM potpisa u PHPMailer-u i slanje e-pošte

Sada ostaje samo da napravite nekoliko postavki PHPMailera prije slanja pisma i ono će biti potpisano. Mislim da će sljedeći primjer sve razjasniti:

// Uključuje biblioteku koristeći PHPMailer\PHPMailer\PHPMailer; zahtijevaju "PHPMailer/PHPMailer.php"; // Kreirajte pismo $mail = new PHPMailer; $mail->CharSet = "UTF-8"; $mail->setFrom(" [email protected]"); $mail->addAddress(" [email protected]"); $mail->Subject = "Ovo je test"; $mail->msgHTML("

Ovo je test

"); // Postavljanje DKIM potpisa $mail->DKIM_domain = "test.ru"; $mail->DKIM_private = "test-private.pem"; $mail->DKIM_selector = "mail"; // Pošalji $ mail- >send();

Naravno test.ru trebali biste promijeniti u ime svoje domene i test-private.pem na punu putanju i naziv datoteke privatnog ključa koja je kreirana u fazi generiranja ključa.

Sada će vaše e-poruke poslane putem PHPMailera biti DKIM potpisane vašim privatnim ključem.

Da bi određena web stranica imala mogućnost da radi efikasno i produktivno, njenoj izradi treba pristupiti što odgovornije i pažljivije. Posebnu pažnju zaslužuje izbor sistema koji će se koristiti za kreiranje internet prodavnice. Činjenica je da komercijalna platforma specijalizirana za prodaju robe ili usluga mora omogućiti implementaciju svih potrebnih funkcionalnosti i biti laka za korištenje, kako za administratore koji se bave održavanjem i popunjavanjem stranica, tako i za klijente internetskih trgovina. Mnogi ljudi i kompanije koji se susreću sa pitanjem odabira odgovarajućeg CMS-a za sebe analiziraju da li odabrati Magento ili OkayCMS. Uporedimo karakteristike i mogućnosti ovih mehanizama za web stranice.

Kada radite na vlastitoj web stranici, osoba ili kompanija morat će uložiti mnogo truda - samo u ovom slučaju možete računati na pozitivni rezultati i dobijanje zaista efikasnog alata. Jedno od osnovnih pitanja koje se mora riješiti čak i prije početka izrade web stranice bit će kako se odlučiti za najprikladniju CMS opciju. Zatim ćemo uporediti dva CMS-a: Joomla ili OkayCMS i obratiti pažnju na karakteristike svakog od njih.

Posjedovanje vlastite web stranice jedan je od osnovnih zahtjeva za efikasno i uspješno poslovanje. Statistika jasno ukazuje na povećanje broja kupovina raznih roba i narudžbi usluga putem interneta. Uzimajući ovo u obzir, većina komercijalnih kompanija već je svjesna potrebe za vlastitim web stranicama. Međutim, sama činjenica posedovanja Internet resursa nije dovoljna da se računa na njegovu efikasnost, profitabilnost i očekivane poslovne koristi.

Kada se pripremate za kreiranje vlastite web stranice ili otvaranje online trgovine, morate uzeti u obzir i analizirati mnoge probleme, kao i riješiti različite probleme. Samo u ovom slučaju možete računati na činjenicu da će vaš projekt donijeti pozitivne rezultate i moći u potpunosti ispuniti vaša očekivanja. Među raznim pitanjima vezanim za razvoj online trgovine, pitanje odabira CMS-a zaslužuje posebnu pažnju. Da vam olakšam odlučivanje o optimalnom motoru za sebe, iznutra

Kada planiraju kreirati vlastitu web stranicu za buduću internet prodavnicu, prilično veliki broj ljudi, pa čak i kompanija specijaliziranih za prodaju, suočeni su s teškim i izuzetno važnim izborom: koji od postojećih CMS-a izabrati. Ako razmišljate šta da odaberete: PrestaShop ili OkayCMS, predlažemo da pročitate ovaj članak, u kojem ćemo uporediti ova dva sistema za kreiranje internet stranica, posebno online prodavnica.

2019-08-05

Zdravo, dragi posjetitelju!

Oprostite mi na kašnjenju u ažuriranju bloga. Ali za to postoji sasvim razumljivo objašnjenje. Uostalom, ljeto, dacha, gosti, šuma, voda i još mnogo toga, što mi nije omogućilo da se pozabavim pitanjima izrade web stranice. Ali sad sam se malo oslobodio, gosti su otišli i mislim da ću sada sigurno moći da obratim dužnu pažnju na ovo.

Dakle, nakon što smo u prošlom članku povezali poštu našeg domena sa jednim od servisa pošte, sada da vidimo kako možete slati e-poštu sa stranice. Štaviše, na način da naša pisma ne završe u SPAM-u, već se pouzdano, s velikim stepenom vjerovatnoće, dostavljaju našim primaocima.

Generalno, postoji ugrađena funkcija mail() za slanje pisama u PHP-u. Ali treba napomenuti da uprkos jednostavnosti ove metode (u ovom slučaju, za slanje pisama dovoljno je navesti samo jednu liniju koda sa određenim parametrima), upotreba ove opcije ima značajan nedostatak povezan sa problemom SPAM-a. .

Činjenica je da anti-SPAM filteri mail servera na strani primaoca ne favoriziraju pisma poslana putem funkcije mail(). I u većini slučajeva takve poruke se filtriraju ili čak brišu prije nego što stignu do primatelja.

A kako bi se takvi slučajevi što je više moguće eliminisali, obično se koristi druga opcija u kojoj se pisma šalju kao da ih radi poštanska usluga treće strane.

Ova metoda se zove slanje pošte putem SMTP-a s autorizacijom. Što ćemo danas pogledati na primjeru podnošenja obrasca povratne informacije. Štaviše, za ovo ćemo koristiti prilično poznatu i popularnu biblioteku PHPMailer, koja vam omogućava da jednostavno organizirate slanje pisama putem SMTP-a.

  • Kako ćemo slati povratne informacije
  • Kreiranje obrasca za povratne informacije
  • Instaliranje PHPMailer biblioteke
  • Kreiramo skriptu za slanje pošte putem SMTP-a
  • Provjeravam slanje e-pošte
  • Izvorni fajlovi site

Kako ćemo slati povratne informacije

Prije nego počnete praktičan rad Nakon slanja povratnih pisama, prvo ćemo odlučiti kako ćemo to učiniti.

Obrazac za povratne informacije je dizajniran da omogući korisniku da komunicira s administratorom stranice kako bi prenio svoju poruku. Obično se ovaj obrazac sastoji od nekoliko polja i dugmeta „Pošalji“.

U principu, za slanje e-pošte dovoljno je koristiti samo nekoliko polja koja pružaju dovoljno informacija o korisniku i sadržaju poruke, kao što su:

  • "Ime" - za unos imena pošiljaoca poruke;
  • "E-mail" - za adresu email pošiljalac;
  • "Predmet poruke";
  • "Tekst poruke".

Iako možete dodati i druge. Na primjer, broj telefona, ako je to zaista neophodno.

U našem slučaju, takva pisma će biti poslana na adresu administratora stranice iz stvarnog poštanskog sandučeta s autorizacijom na mail servisu na koji je naša domena povezana.

Budući da smo se u prethodnom članku fokusirali na provjeru povezanosti pošte domene sa servisom Yandex.Mail, poslat ćemo poštu za ovu opciju. Iako ovo nije važno. Ispod ćete vidjeti one opcije koje će vam, kada se promijene, omogućiti slanje e-pošte putem Mail.ru servera pošte.

Kao pravi poštanski sandučić iz kojeg će se slati pisma, koristićemo nalog novokreiranog korisnika pošte domene, recimo sa adresom [email protected]. I mi ćemo poslati ova pisma poštansko sanduče administrator [email protected], koji smo prethodno kreirali u prethodnom članku.

Tako će pošiljalac pisma iz obrasca za povratne informacije biti poštanski sandučić [email protected]., a primalac - [email protected]. U tom slučaju, sve informacije o korisniku koji je poslao poruku sa njenim sadržajem bit će prenesene u tijelo poslanog pisma.

Kreiranje obrasca za povratne informacije

Nakon što smo se odlučili za proceduru slanja pisama, sada ćemo kreirati obrazac za povratne informacije sa kojim ćemo to i učiniti.

Ispod je HTML kod za ovaj obrazac, koji ćemo postaviti na stranicu "Kontakti" (datoteka kontakty.php u direktoriju članaka).

    "članak" >

    Kontakti

    Povratne informacije

    "kontakt" akcija = "#" metoda = "post" >

    Obrazac za povratne informacije

    Za sva pitanja, zahtjeve i poslovne prijedloge, možete nas kontaktirati putem obrasca za povratne informacije u nastavku.

    "kontakt blok" >

    "kontakt-unos" >

    "tekst" id = "ime za kontakt" ime = "ime za kontakt" naslov = "Ime mora biti na ruskom i sadržavati najmanje 3 karaktera" uzorak = "{3,}" potrebno >

  1. "prazan kontakt" >

    "kontakt-unos" >

    "e-pošta" id = "kontakt-e-mail" ime = "kontakt-e-mail" potrebno >

  2. "subjekt kontakta" >

  3. "kontakt-komentar" >

  4. "dugme za kontakt" >

    "podnesite" ime = "dugme za kontakt" vrijednost = "Pošalji" >

Sl.1 HTML kod obrasca za povratne informacije

Na sljedećem snimku ekrana možete vidjeti kako izgleda ovdje prikazan obrazac za povratne informacije.

Tako se stvara željeni oblik. A sada možete prijeći na pitanja obrade i slanja podataka u obliku e-mail poruke.

Instaliranje PHPMailer biblioteke

Kao što je već napomenuto, za slanje pošte koristićemo PHPMailer biblioteku, koja će uveliko pojednostaviti slanje e-pošte putem SMTP protokol sa autorizacijom na servisu pošte treće strane.

Da biste ga instalirali, morate preuzeti potrebne datoteke. Ovo se može uraditi sa GitHub web servisa koristeći Composer (menadžer zavisnosti paketa za PHP). Ili jednostavno preuzmite potrebne datoteke na uobičajeni način.

snimak ekrana 73

Ispod je stranica web servisa GitHub, na kojoj je označena veza za redovno preuzimanje PHPMailer biblioteke.

pored ovoga, najnovija verzija 6.0.7, koja je sačuvana u vrijeme pisanja ovog članka, može se preuzeti iz priloženih materijala.

U svakom slučaju, rezultujuću arhivsku datoteku treba raspakovati, nakon čega ekstrahovani PHPMailer-master folder sa svim njegovim sadržajem treba staviti u koren sajta. Istovremeno, zbog jednostavnosti, možete ga preimenovati u PHPMailer. Ispod je sadržaj foldera PHPMailer smješten u korijenskom direktoriju stranice.

Tako smo instalirali PHPMailer biblioteku. Nakon toga možemo početi kreirati skriptu s kojom ćemo slati e-poruke sa naše web stranice.

Kreiramo skriptu za slanje pošte putem SMTP-a

Za sastavljanje skripte dovoljno je koristiti preporuke za korištenje PHPMailera date na GitHub stranici, koju smo prethodno koristili za preuzimanje biblioteke.

Oni, posebno, ukazuju da je na početku skripte potrebno uvesti PHPMailer klase u globalni prostor imena. I dati su specifični redovi odgovarajućeg koda. Postoje i primjeri korištenja svojstava i metoda PHPMailera, uključujući i opciju slanja pošte putem SMTP-a.

Ali ako to nije dovoljno, onda možete koristiti i dokumentaciju koja sadrži opis svih svojstava i metoda ove biblioteke.

snimak ekrana 74

Ispod je kod skripte za slanje pošte iz obrasca za povratne informacije putem SMTP-a sa autorizacijom. Gde su svi redovi koji se odnose na PHPMailer dati sa objašnjenjem i istaknuti svetlom pozadinom.

Ostatak dijela, uključujući fragmente vezane za primanje i obradu podataka iz obrasca, koji smo prethodno morali koristiti u drugim procesorima, označen je tamnom pozadinom. O njima se detaljno raspravljalo ranije u članku posvećenom posebno pitanjima dobijanja i verifikacije podataka iz obrasca u PHP-u. Gdje smo govorili i o univerzalnoj korisničkoj funkciji za provjeru valjanosti i obradu podataka obrasca check_symbol().

Ovu skriptu ćemo smjestiti u isti kontakty.php fajl u kojem smo prethodno kreirali obrazac za povratne informacije.

    //----Skripta za slanje pošte putem SMTP-a koristeći PHPMailer----

    //Uvezite PHPMailer klase u globalni prostor imena. Oni bi trebali biti na vrhu skripte, a ne unutar funkcije

    koristiti PHPMailer\PHPMailer\PHPMailer ;

    koristiti PHPMailer\PHPMailer\Exception ;

    ako (!prazan($_POST["dugme za kontakt" ])) (

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

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

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

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

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

    $subject = check_symbol ($subject, "Predmet poruke" , "1" , "0" );

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

    $comment = check_symbol ($komentar, "Tekst poruke", "1" , "0" );

    ako (!prazan($GLOBALS["alert" ])) (

    $alert = "Podaci obrasca nisu poslani. Pronađene su sljedeće greške:\n".$alert;

    uključiti"alert.php" ;

    ostalo {

    //Povezivanje biblioteke

    zahtijevaju"PHPMailer/src/PHPMailer.php" ;

    zahtijevaju"PHPMailer/src/Exception.php" ;

    zahtijevaju"PHPMailer/src/SMTP.php" ;

    $mail = novo PHPMailer(); //Inicijalizacija klase

    $od = " [email protected]" ; //Email adresa sa koje se pismo šalje

    $to = " [email protected]" ; //Adresa primaoca

    $mail -> isSMTP(); //Koristi SMTP protokol

    $mail -> Host = "smtp.yandex.ru" ; //Adresa servera pošte

    $mail -> SMTPAuth = istina ; //Omogući način autorizacije

    $mail -> Korisničko ime = " [email protected]" ; //Prijavite se sa e-pošte domene koja je povezana sa servisom e-pošte treće strane (u ovom slučaju Yandex.Mail)

    $mail -> Lozinka = "27MrDon89" ; //Lozinka za domensku poštu

    $mail -> SMTPSecure = "ssl" ; //Protokol šifriranja

    $mail -> Port = "465" ; //port SMTP servera

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

    $mail -> setFrom ($from, "Administrator" ); //Adresa i ime pošiljaoca

    $mail -> addAddress ($to, "Administrator" ); //Adresa i ime primaoca

    $mail -> isHTML ( istina ); //Postavi format e-pošte na HTML

    $mail -> Predmet = "Obrazac za povratne informacije dostavljen"; //Predmet e-pošte (naslov)

    $mail -> Tijelo = "

    Ime pošiljaoca: $name

    Adresa pošiljaoca: $email

    Predmet poruke: $subject

    Sadržaj poruke: $comment

    " ; //Sadržaj poruke

    $mail -> AltBody = "Alternativni tekst slova"; //Alternativni email ako klijent e-pošte ne podržava HTML format

    $mail -> SMTPDebug = 0 ; //Omogući SMTP otklanjanje grešaka: 0 - isključeno (za normalnu upotrebu), 1 = poruke klijenta, 2 - poruke klijenta i servera

    ako($mail -> pošalji()) (

    $alert = "Poruka poslana"; //Izlaz poruke u dijaloški okvir pretraživača o uspješnom slanju pisma

    ostalo {

    $alert = "Greška, email se ne može poslati: ".$mail -> ErrorInfo ; //Izlaz poruke o grešci

    uključiti"alert.php" ;

Slika 5 Skripta za slanje e-pošte putem SMTP-a sa autorizacijom

Kao što vidite, svi redovi koji se direktno odnose na slanje e-mail poruke, u kojima su navedeni potrebni načini i svojstva, popraćeni su komentarima. Stoga, nema smisla ponavljati se, već se možemo zadržati samo na nekima od njih, koji zaista zahtijevaju dodatna objašnjenja, a to su:

1. Zbog činjenice da je pismo poslano sa mail servisa treće strane, ovdje se primjenjuju postavke koje odgovaraju određenom SMTP serveru. U ovom slučaju, za slučaj upotrebe Yandex.Mail servera, primjenjuju se sljedeće vrijednosti svojstva:

  • Nekretnina Domaćin(poz.28) - Adresa mail servera sa vrijednošću smtp.yandex.ru;
  • Nekretnina SMTPSecure
  • Nekretnina Port

Ove vrijednosti svojstva su preuzete sa stranice Yandex.Help prikazane na sljedećem snimku ekrana.

Ali takve informacije se mogu dobiti i iz drugih izvora. Da biste to učinili, samo unesite odgovarajući upit u tražilicu, na primjer: "Yandex smtp server". Gdje se može naći veliki broj referenci o ovom pitanju.

Na sličan način, vrijednosti postavki se mogu dobiti sa drugih SMTP servera. Ispod je snimka ekrana stranice pomoći Mail.ru, koja prikazuje postavke SMTP servera Mail.ru servisa pošte.

Stoga, u slučaju korištenja Mail.ru kao SMTP servera treće strane, treba primijeniti sljedeće vrijednosti svojstava PHPMailer klase:

  • Nekretnina Domaćin(poz.28) - Adresa mail servera (smtp.mail.ru);
  • Nekretnina SMTPSecure(poz.32) - Protokol šifriranja (ssl);
  • Nekretnina Port(poz. 33) - Port SMTP servera (465).

Sličan pristup treba primijeniti i na druge usluge e-pošte.

2. U imovini Korisničko ime(poz. 30) potrebno je navesti punu adresu poštanskog sandučeta domena. U ovom slučaju, " [email protected]".

Međutim, ako koristite račun koji nije račun e-pošte domene za slanje pisama, ali adresu koja se odnosi direktno na uslugu pošte, na primjer " [email protected]", tada bi prijava trebala biti samo dio adrese do znaka "@". U ovom slučaju, prijava bi imala vrijednost "feedback".

3. PHPMailer pruža svojstvo SMTPDebug(poz. 50), što vam omogućava da prikažete različite nivoe grešaka na ekranu pretraživača. Ova funkcija uvelike pojednostavljuje pronalaženje problema prilikom otklanjanja grešaka u skripti.

Tipično, u normalnom načinu rada, sa vrijednošću postavljenom na 0, izlaz detaljnih informacija o grešci je onemogućen. Ali ako se pojave problemi sa slanjem pošte ili tokom otklanjanja grešaka, moguće je koristiti druge vrijednosti za prikaz značajnijih informacija o grešci.

Da bismo vidjeli kako to izgleda u praksi, unesite privremeno neku grešku u postavke. Na primjer, u šifri pošte domene (property Lozinka, poz.31). I za prikaz detaljnih informacija o grešci, privremeno postavljenih u svojstvu SMTPDebug(poz.50) vrijednost 1. Nakon, kada je sve otklonjeno i provjereno, onemogućit ćemo SMTP mod za otklanjanje grešaka, zamjenjujući 1 sa 0.

U završnom dijelu skripte, nakon specificiranja svih potrebnih svojstava i metoda, metoda se koristi za slanje pisma pošalji()) (poz. 51). I ako je pismo poslano, i način pošalji() za objekat $mail vraća true, a zatim u dijalogu pretraživača kroz promenljivu $alert Prikazaće se poruka o uspešnom slanju pošte (poz. 52).

Ako, iz nekog razloga, mail nije mogao biti poslan, pa prema tome, metoda ne može vratiti true, tada će ovo stanje biti popraćeno odgovarajućom porukom o grešci (poz. 55).

Provjeravam slanje e-pošte

Nakon što smo kreirali skriptu za slanje pošte, naravno, moramo pogledati rezultat naše „kreativnosti“. Jesmo li ovdje sve uzeli u obzir i nismo li pogriješili?

Da bismo to učinili, pokušajmo, kako je predviđeno, poslati poruku od korisnika administratoru stranice iz obrasca za povratne informacije. Ispod je snimka ekrana obrasca za povratne informacije sa popunjenim poljima prije slanja.

A evo i rezultata podnošenja obrasca.

Gdje je iz poruke u dijaloškom okviru pretraživača jasno da se pismo ne može poslati zbog problema sa SMTP vezom.

Ali, od sada vlasništvo SMTPDebug(poz. 50) je dodijeljena vrijednost 1, tada možemo vidjeti detaljne informacije o grešci koja se dogodila i saznati razlog njenog nastanka.

Sljedeća snimka ekrana pokazuje da je prilikom pokušaja povezivanja otkrivena greška u autentifikaciji, što znači korištenje neispravne prijave ili lozinke.

Nakon što otklonimo nepodudaranje lozinke (ranije je korištena pogrešna lozinka da bismo mogli provjeriti izlaz dodatnih informacija o grešci), pokušat ćemo ponovo poslati mail.

Ovaj put se činilo da je sve prošlo dobro i dobili smo poruku da je pošta uspješno poslana. Očigledno, osim namjerno unesene privremene greške u šifri e-pošte domene, nismo napravili nijednu drugu grešku.

Ali da bismo bili sigurni da je pismo zaista dostavljeno primaocu, unesite poštu sa adresom [email protected] i pogledajte rezultat.

Kao što vidite, pismo sa adrese [email protected], sa koje smo poslali e-poruku pod nazivom "Feedback" uspješno je stigla do administratora stranice. Istovremeno, tijelo pisma sadrži sav sadržaj koji smo generirali u skripti koristeći podatke dobivene iz obrasca za povratne informacije, i to:

  • Ime pošiljaoca: Nikolay;
  • Adresa pošiljaoca: [email protected];
  • Tema poruke: Provjera slanja pošte;
  • Sadržaj poruke: Test poruka.

Sada, nakon uspješne provjere slanja pošte, možete onemogućiti SMTP način otklanjanja grešaka dodjeljivanjem svojstva SMTPDebug(poz.50) vrijednost 0.

Time smo završili zadatak kreiranja alata za slanje pošte putem SMTP-a uz autorizaciju korištenjem mail servera treće strane.

Na primjer, u sljedećem članku ćemo pogledati kako poslati e-poruke s potvrdom za oporavak podataka registriranog korisničkog računa.

Izvorni fajlovi sajta

Izvorne datoteke stranice s ažuriranjima koja su napravljena u ovom članku možete preuzeti iz priloženih dodatnih materijala:

  • www fajlovi direktorijuma
  • MySQL tabele baze podataka

U PHP-u je prilično popularno koristiti skripte koje automatizuju proces slanja pisama. U ovom članku ćemo pogledati jednostavnu skriptu koja šalje pisma primaocima putem SMTP( Jednostavan protokol za prijenos pošte ). Bilo bi previše lako ograničiti se samo na ovu funkcionalnost, skripta također podržava priloge, odnosno možete priložiti pdf, txt ili doc datoteku u svom pismu.

Podešavanje skripte je prilično jednostavno, sve što vam je potrebno je prijava pošiljaoca i lozinka za e-poštu sa koje će pisma biti poslana.

Skripta radi sa klasom km_smtp_class.php, dobra stvar kod klase je što podržava različite SSL i TLS protokole koji obezbeđuju siguran prenos podataka.

Evo same skripte:

"smtp.mail.ru", "SMTP_port" => "25", "SMTP_email" => " [email protected]", "SMTP_pass" => "1111111", "SMTP_type" => "null"); // Email primatelja $Receiver = " [email protected]"; // Predmet poruke $Subject = "Slanje e-pošte sa PHP-a"; // Tekst poruke (u HTML-u) $Text = "Zdravo!
Poruka poslana iz skripte Mowshon Web stranica: http://site"; // Prilog u pismu - adresa datoteke $Attachment = ""; /* $mail = novi KM_Mailer(server, port, korisnik, lozinka, tip); */ /* Tip može biti: null, tls ili ssl */ $mail = new KM_Mailer($SenderConfig["SMTP_server"], $SenderConfig["SMTP_port"], $SenderConfig["SMTP_email"], $SenderConfig["SMTP_pass"], $ SenderConfig[" SMTP_type"] if($mail->isLogin) ( // Priložite datoteku if($Attachment) ($mail->addAttachment($Attachment);) // Dodajte još primalaca $mail->addRecipient(); " [email protected]"); $mail->addRecipient(" [email protected]"); /* $mail->send(From, For, Subject, Text, Subject = opciono) */ $SendMail = $mail->send($SenderConfig["SMTP_email"], $Receiver, $Subject, $Text ); // Obrišite listu primalaca $mail->clearBCC( echo "Došlo je do greške pri povezivanju sa SMTP serverom");

Podešavanje skripte je bazirano uglavnom na nizu $SenderConfig, ovdje moramo navesti SMTP:server, port, login i email lozinku. Hajde da opišemo svaki ključ niza:

SMTP_server - adresa SMTP servera (pojedinačna adresa za različite emailove)

Mail.ru mail: smtp.mail.ru port: 25, 587 i 465 (sa SSL enkripcijom)

Yandex mail: smtp.yandex.ru port: 25, 587 465 (SSL port)

Rambler mail: mail.rambler.ru port: 25, 587 465 (SSL port)

Yahoo Mail: smtp.mail.yahoo.com SSL port: 465

(Ako vam trebaju adrese smtp servera kojih nema na listi, pišite u komentarima)

SMTP_port - Već smo ga opisali gore za svaki smtp server.

SMTP_email - korisnik bi bio precizniji, ali radi jasnoće napisao sam e-mail, navodimo adresu e-pošte.

SMTP_pass - Lozinka za e-poštu koja je navedena kao vrijednost u ključu SMTP_email


SMTP_type - Zadana vrijednost NULL. Protokol po kojem će se pisma slati. Protokoli: SSL i TLS

Možete dodati priloge pismu jednostavnim navođenjem pune adrese datoteke u varijablu $Attachment (/var/patch/to/file/File.pdf)

Ako imate bilo kakvih pitanja, napišite ih u komentarima ispod.

Pošto je slanje anonimnih poruka sa virtuelnih Windows hosting servera zabranjeno, slanje pisama treba da se vrši preko SMTP servera, za koji je moguće koristiti i naš mail sistem.

Kako slati e-poštu koristeći PHP?

Korištenje bilo koje PHP klase koja podržava autorizaciju na smtp serveru. Na primjer, možete koristiti PHPMailer skup klasa.

Možete koristiti i naš primjer, koji implementira slanje pisama pomoću smtp servera, za koji je potrebna autorizacija. Stoga ne zaboravite dodati odgovarajuće detalje o pristupu skripti, na primjer:

// Ako trebate prikazati dnevnik SMTP sesije, možete dekomentirati sljedeći red. // $_SERVER["debug"] = istina; funkcija MailSmtp ($reciever, $subject, $content, $headers, $debug = 0) ( $smtp_server = "smtp.site"; // Adresa SMTP servera$smtp_port = 25 ; // Port SMTP servera$smtp_user = " [email protected]" ; // Korisničko ime za autorizaciju na SMTP serveru$smtp_password = "pAsSwORd" ; // Lozinka za autorizaciju na SMTP serveru$mail_from = " [email protected]" ; // Poštansko sanduče iz kojeg se pismo šalje$sock = fsockopen ($smtp_server, $smtp_port, $errno, $errstr, 30); $str = fgets ($sock, 512);<" . $mail_from . ">if (! $sock ) ( printf ( "Utičnica nije kreirana\n" ); exit(1 ); ) smtp_msg ($sock, "HELO " . $_SERVER [ "SERVER_NAME" ]); smtp_msg($sock, "AUTH LOGIN"); smtp_msg ($sock, base64_encode ($smtp_user)); smtp_msg ($sock, base64_encode ($smtp_password)); smtp_msg ($sock, "POŠTA OD:<" . $reciever . ">" ); smtp_msg ($sock , "DATA" ); $headers = "Predmet: " . $subject . "\r\n" . $headers ; $data = $headers . "\r\n\r\n" $content ; smtp_msg ($sock) ("Slomljena utičnica"); "debug" ]) && $_SERVER [ "debug" ]) ( printf ( "Pošaljite od nas : %s
" , nl2br (htmlspecialchars ($msg )); ) fputs ($sock, " $msg \r\n" ); $str = fgets ($sock, 512); if (! $sock) ( printf ( "Utičnica je down\n" ); exit(1); ) else ( if (isset($_SERVER [ "debug" ]) && $_SERVER [ "debug" ]) ( printf ("Dobio sa servera: %s
" , nl2br (htmlspecialchars ($str )); ) $e = eksplodirati (" " , $str ); $code = array_shift ($e ); $str = implodirati ( " " , $e ); if ($code > 499 ) ( printf ( "Problemi sa SMTP razgovorom.

Kod %d.
Poruka %s
"
, $code , $str );

izlaz(1);

) ) ) ?>

Preuzmite primjer gotove skripte sa funkcijom MailSmtp(): smtpauth.php.sample Možete koristiti gore opisanu funkciju MailSmtp() da biste direktno zamijenili funkciju mail() uzmite u obzir primjer najjednostavnijeg oblika u PHP-u: // Zaglavlja poruke, definišu kodiranje poruke, polja Od, Do, itd.$headers = "MIME-verzija: 1.0\r\n" ; $headers .= "Tip sadržaja: tekst/html; charset=windows-1251\r\n" " ; ; $headers .= "Za: $to \r\n" ; $headers .=„Od: ime pošiljaoca
// mail ($to, $subject, $message, $headers); require_once "smtpauth.php" ;  MailSmtp ($to, $subject, $message, $headers);  ) ?> kome: 
 
 

Tekst:

Pošalji!

Da bi ovaj obrazac radio bez funkcije mail(), uključili smo datoteku smtpauth.php putem require_once i pozvali funkciju MailSmtp() koja je u njoj opisana s argumentima sličnim mail(). U isto vrijeme, komentarisali smo sam poziv mail() u kodu kako bismo izbjegli greške prilikom izvršavanja skripte. Kako slati e-poštu koristeći ASP.NET? Ako koristite verziju 2.0, onda koristite klasu MailMessage

System.Net.Mail

), dobro opisano.

<% @Page Language="c#" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% MailMessage message = new MailMessage(); Ispod su primjeri njegove upotrebe za jezike C# i VisualBasic: Primjer za C# jezik: [email protected]"); // kreiranje novog slova message.To.Add(" // dodavanje adrese primaoca message.From = nova MailAddress("from@ domain.tld", "Sender_name"); // specificiranje imena i adrese pošiljaoca message.Subject = "Predmet poruke"; // specificiranje predmeta pisma message.BodyEncoding = System.Text.Encoding.UTF8; // specificiranje kodiranja slova message.Body = "Tekst poruke"; // specificiranje teksta (tijela) slova SmtpClient klijent = novi SmtpClient("smtp.site",25); // kreiranje nove veze sa serverom "smtp.site" client.DeliveryMethod = SmtpDeliveryMethod.Network; // definira način slanja poruka client.EnableSsl = false; // onemogućava potrebu za korištenjem bezbedne veze sa serverom client.UseDefaultCredentials = false; // onemogućiti korištenje zadanih detalja autorizacije client.Credentials = new NetworkCredential("postmaster@ // dodavanje adrese primaoca", "***lozinka***"); // specificiranje potrebnih detalja (korisničko ime i lozinka) za autorizaciju na SMTP serveru klijent.Pošalji(poruka); // poslati poruku %>

Preuzmite primjer gotovog obrasca koji pokazuje upotrebu ove metode: MailForm.aspx.

Primjer za VisualBasic jezik:

<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% Dim smtpMssg AS new MailMessage smtpMssg.From = New MailAddress ("admin@// dodavanje adrese primaoca", "Sender_name") smtpMssg.To.Add (" [email protected]") " dodavanje adrese primaoca smtpMssg.Subject = "Predmet e-pošte" "naznaka predmeta pisma smtpMssg.Body = "Tekst poruke" " naznaka teksta (tijela) pisma smtpMssg.BodyEncoding = System.Text.Encoding.UTF8 " indikacija kodiranja slova smtpMssg.IsBodyHtml = netačno " indikacija formata slova (tačno - HTML, netačno - ne HTML) Dim SmtpMail kao novi SmtpClient("smtp.site", 25) " deklaracija novog objekta tipa "SmtpClient" SmtpMail.DeliveryMethod = SmtpDeliveryMethod.Network "indikacija načina dostave pisma SmtpMail.UseDefaultCredentials = Netačno "onemogućavanje korištenja autorizacijskih akreditiva prema zadanim postavkama" SmtpMail.EnableSsl = Netačno " onemogućava potrebu za korištenjem bezbedne veze sa serverom SmtpMail.Credentials = novi NetworkCredential("postmaster@ // dodavanje adrese primaoca", "***lozinka***") "sa naznakom potrebnih detalja (korisničko ime i lozinka) za autorizaciju na SMTP serveru SmtpMail.Send(smtpMssg) " slanje poruke %>

Postoji i zastarjela (i zastarjela) klasa SmtpMail (koristeći prostor imena System.Web.Mail). Ispod je primjer njegove upotrebe za VisualBasic jezik:

<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Web" %> <% @Import Namespace="System.Web.Mail" %> <% Dim smtpMssg = new MailMessage " deklaracija novog objekta tipa "MailMessage" smtpMssg.From = "Ime_pošiljaoca // dodavanje adrese primaoca>" „Naznaka imena i adrese pošiljaoca smtpMssg.To = "admin@ // dodavanje adrese primaoca" " naznaka adrese primaoca smtpMssg.BodyFormat = MailFormat.Text " naznaka formata pisma smtpMssg.BodyEncoding = Kodiranje.UTF8 "koji označava kodiranje slova smtpMssg.Subject = "Predmet e-pošte" "naznaka predmeta pisma smtpMssg.Body = "Tekst poruke" " naznaka teksta pisma smtpMssg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",1) "što ukazuje na potrebu za SMTP autorizacijom na serveru smtpMssg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "admin@ // dodavanje adrese primaoca") "korisničko ime za autorizaciju smtpMssg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "***password***") "lozinka za autorizaciju SmtpMail.SmtpServer = "smtp.site" " navodeći adresu SMTP servera SmtpMail.Send(smtpMssg) " slanje poruke %>

Kako slati e-poštu koristeći ASP?

Imajte na umu da je prilikom korištenja našeg smtp servera potrebna autorizacija, tako da ne zaboravite dodati odgovarajuće detalje pristupa skripti, na primjer:

<% iConfig = Server.CreateObject("CDO.Configuration") Set iConfig = Server.CreateObject("CDO.Configuration") With iConfig.Fields .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.сайт" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/languagecode") = "ru" .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "postmaster@// dodavanje adrese primaoca" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" .Update End with Set cdoMessage = CreateObject("CDO.Message") Sa cdoMessage Set .Configuration = iConfig .From = "Test korisnik // dodavanje adrese primaoca>" .To = "Korisnik " .Subject = "Zdravo, korisniku" .TextBody = "Pišem ovu poruku iz ASP skripte." .Pošalji Kraj sa postavljenim cdoMessage = Ništa Postavi iConfig = Ništa %>

Neki CMS već imaju ugrađene alate za slanje korespondencije ili odgovarajuće module, pogledajmo one najpopularnije.

Wordpress

Za ovaj CMS postoji poseban modul “WP Mail SMTP”, primjer njegove konfiguracije je opisan na stranici modula.

Obratite pažnju na ilustraciju u primjeru u našem mail sistemu, potrebno je koristiti port 25 i SSL enkripcija nije potrebna.

Joomla

Na administrativnoj ploči idite na odjeljak "Opće postavke", odaberite karticu "Server". U polju „Pošta“ potrebno je da izaberete način slanja kao „SMTP server“, u poljima „Adresa SMTP servera“ i „SMTP prijava“ i „SMTP lozinka“ navedite odgovarajuće detalje sistema pošte, na primer: smtp.site, box@your_domain i odgovarajući lozinka.

Drupal

Ovaj CMS takođe ima svoj modul za rad sa SMTP serverom, zasnovan na PHPMailer. Ovaj modul možete preuzeti na njegovoj stranici na web stranici CMS Drupal, a u arhivi je dostupan i opis instaliranja modula.

NetCat

Ovaj CMS nema ugrađene funkcije za rad sa SMTP serverom. Za slanje pošte pomoću skripti stranice, možemo ponuditi korištenje našeg rješenja za povezivanje, morate izvršiti sljedeće korake:

  • Preuzmite arhivu sa potrebnim datotekama sa naše web stranice ( send_auth_mail.php I mail.inc.php) i raspakujte ga na računaru;
  • Uredi fajl send_auth_mail.php iz arhive, navodeći u njoj detalje veze sa željenim SMTP serverom:

    • $mail_smtpServer = "smtp.site"; (adresa SMTP servera)
    • $mail_port = "25" ; (priključak za povezivanje)
    • $mail_username = "[email protected]" ; (korisničko ime za autorizaciju na SMTP serveru)
    • $mail_password = "Lozinka"; (lozinka za autorizaciju na SMTP serveru)
  • Napravite rezervnu kopiju datoteke domain.tld/www/netcat/admin/mail.inc.php;
  • Upload files send_auth_mail.php I mail.inc.php na virtuelnu stranicu u direktoriju domain.tld/www/netcat/admin/

// dodavanje adrese primaoca treba zamijeniti vašim imenom domene.

Predloženo rješenje radi sa svim NetCat modulima koji koriste standardne funkcije ovog CMS-a za slanje pošte.

© 2024 ermake.ru -- O popravci računara - Informativni portal