Kuidas saata meile PHP-skriptist SMTP-autentimise abil

Sisukord:

Kuidas saata meile PHP-skriptist SMTP-autentimise abil
Kuidas saata meile PHP-skriptist SMTP-autentimise abil
Anonim

Mida teada

  • PHP klassi valikud: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: märkige üles meiliserveri nimi > kontrollige, kas PEAR Mail on installitud > muutke PHP-faili toodud näidete abil.

See artikkel selgitab, kuidas kasutada SMTP autentimist, et saata e-kirju rakenduses PEAR Mail PHP mail() funktsiooniga.

E-kirja saatmine PHP meilifunktsiooniga

Kui kasutate PHP mail() funktsiooni, saadate e-kirju otse oma veebiserverist, mitte meiliserverist. Kui teil on oma veebihosti kaudu meiliserver või isegi mõne muu hostiga meiliserver, on tavaliselt parem saata kirju selle kaudu.

Probleem on selles, et PHP funktsioon mail() ei paku sisseehitatud võimalust meilide saatmiseks SMTP kaudu. Kui soovite seda funktsiooni avada, peate installima täiendava PHP-klassi.

Siin on mõned toimivad valikud:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Näitame teile, kuidas kasutada PEAR Maili, kuid võite kasutada mis tahes klassi, mis toetab SMTP-d.

Image
Image

Kui teie veebihostile on juba üks või mitu neist klassidest installitud, on sellel tõenäoliselt teie olukorraga seotud õpetused. Kui jah, siis jätkake ja kasutage klassi, millele teil on juurdepääs.

Kasutage seda meetodit ainult siis, kui kasutate oma kohandatud meilivormide loomiseks PHP-d. Kui kasutate sisuhaldussüsteemi (CMS), nagu WordPress, otsige SMTP kaudu kirjade saatmiseks pistikprogrammi või sisseehitatud funktsiooni, selle asemel, et proovida omaenda luua.

Kuidas kasutada PEARi kirjade saatmiseks SMTP kaudu

  1. Veenduge, et teie domeen on suunatud teie meiliserveri hosti Mail Exchange'i (MX) kirjetele ja märkige üles oma meiliserveri nimi. Näiteks võib see olla mail.yourdomain.net või smtp.yourdomain.net.
  2. Kontrollige, kas PEAR Mail on teie meiliserverisse juba installitud.
  3. Kui PEAR Mail pole installitud, konsulteerige selle installimiseks täpsemate juhiste saamiseks oma veebimeili hostiga.
  4. Kui PEAR Mail on installitud, muutke ühte järgmistes jaotistes toodud PHP näidisfailidest, et see vastaks oma vajadustele.

Pear Maili PHP-skripti näide SMTP-posti jaoks

Saate luua oma skripti nullist, kui soovite, või muuta järgmist näidet oma maitse järgi. Veenduge, et sisestaksite oma veebimeiliserveri nimi hosti muutujasse ja kasutage oma veebimeili hosti sisselogimisandmeid kasutajanime ja parooli väljadel.

nõuda_once "Mail.php";

$from="Saatja nimi ";

$to="Saaja nimi";

$subject=" Teema rida siin: ";

$body=" mis tahes sõnum, mida soovite ";

$host="yourmailhost.com";

$username="teie kasutajanimi või e-posti aadress"; $password="teie parool";

$headers=massiiv ('Alates'=> $saatja, 'Saaja'=> $sataja, 'Teema'=> $subject);

$smtp=Post::factory('smtp', massiiv ('host'=> $host, 'auth'=> true, 'kasutajanimi'=> $kasutajanimi, 'parool'=> $parool));

$mail=$smtp->saata($aadressile, $päised, $keha);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} muu {echo("

Sõnum eduk alt saadetud!

);}

PeAR Maili PHP-skripti näide SMTP autentimiseks ja SSL-krüptimiseks

Kui soovite kasutada SMTP autentimist ja SSL-krüptimist, peate eelmises näites mõned muudatused tegema. Peate suunama hosti muutuja oma SSL-i meiliserverile ja määrama ka pordi numbri, nagu 25, 465, 587, 2525 või 8025. Kui te ei saa aru, millist porti kasutada, võtke lisateabe saamiseks ühendust oma veebimeili hostiga. kasuta.

nõuda_once "Mail.php";

$from="Saatja nimi ";

$to="Saaja nimi";

$subject=" Teema rida siin: ";

$body=" mis tahes sõnum, mida soovite ";

$host="ssl://yourmailhost.com";

$port="587"; $username="teie kasutajanimi või e-posti aadress";

$password="teie parool";

$headers=massiiv ('From'=> $from, ' Saaja'=> $to, 'Teema'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=>) $host, 'port'=> $port, 'auth'=> true, 'kasutajanimi'=> $kasutajanimi, 'password'=> $parool));

$mail=$smtp->saata($aadressile, $headers, $body);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} muu {echo("

Sõnum eduk alt saadetud!

);}

Soovitan: