Kaip siųsti el. laišką iš PHP scenarijaus naudojant SMTP autentifikavimą

Turinys:

Kaip siųsti el. laišką iš PHP scenarijaus naudojant SMTP autentifikavimą
Kaip siųsti el. laišką iš PHP scenarijaus naudojant SMTP autentifikavimą
Anonim

Ką žinoti

  • PHP klasės parinktys: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Atkreipkite dėmesį į pašto serverio pavadinimą > patikrinkite, ar PEAR Mail įdiegtas > pakeiskite PHP failą naudodami pateiktus pavyzdžius.

Šiame straipsnyje paaiškinama, kaip naudoti SMTP autentifikavimą siunčiant el. laiškus su PHP mail() funkcija programoje PEAR Mail.

El. laiškų siuntimas naudojant PHP pašto funkciją

Kai naudojate PHP pašto () funkciją, galiausiai el. laiškus siunčiate tiesiai iš savo žiniatinklio serverio, o ne iš pašto serverio. Jei turite pašto serverį per žiniatinklio prieglobą arba net pašto serverį su kita priegloba, paprastai geriau siųsti el. laiškus per jį.

Problema ta, kad PHP mail() funkcija nesuteikia jokio integruoto būdo siųsti laiškus per SMTP. Jei norite atidaryti šią funkciją, turėsite įdiegti papildomą PHP klasę.

Štai kelios veikiančios parinktys:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Parodysime, kaip naudoti PEAR Mail, bet galite naudoti bet kurią klasę, kuri palaiko SMTP.

Image
Image

Jei jūsų žiniatinklio priegloba jau įdiegta viena ar daugiau iš šių klasių, tikriausiai yra su jūsų situacija susijusių mokymo programų. Jei taip, eikite į priekį ir naudokite kursą, prie kurio turite prieigą.

Naudokite šį metodą tik tuo atveju, jei naudojate PHP kurdami savo pasirinktines pašto formas. Jei naudojate turinio valdymo sistemą (TVS), pvz., „WordPress“, ieškokite papildinio arba integruotos funkcijos, kad galėtumėte siųsti laiškus per SMTP, o ne bandyti sukurti savo.

Kaip naudoti PEAR siunčiant laiškus per SMTP

  1. Įsitikinkite, kad jūsų domenas yra nukreiptas į pašto serverio pagrindinio kompiuterio pašto mainų (MX) įrašus, ir atkreipkite dėmesį į savo pašto serverio pavadinimą. Pavyzdžiui, tai gali būti mail.yourdomain.net arba smtp.yourdomain.net.
  2. Patikrinkite, ar PEAR Mail jau įdiegtas jūsų pašto serveryje.
  3. Jei PEAR Mail neįdiegtas, kreipkitės į savo žiniatinklio pašto prieglobą dėl konkrečių instrukcijų, kaip jį įdiegti.
  4. Įdiegę PEAR Mail, pakeiskite vieną iš pavyzdinių PHP failų tolesniuose skyriuose, kad atitiktų jūsų poreikius.

Pavyzdys PEAR Mail PHP scenarijus, skirtas SMTP paštui

Jei norite, galite sukurti savo scenarijų nuo nulio arba pakeisti toliau pateiktą pavyzdį pagal savo skonį. Prieglobos kintamajame būtinai įveskite savo žiniatinklio pašto serverio pavadinimą, o naudotojo vardo ir slaptažodžio laukuose naudokite žiniatinklio pašto prieglobos prisijungimo informaciją.

request_once "Mail.php";

$from="Siuntėjo vardas ";

$to="Gavėjo vardas";

$subject=" Temos eilutė čia: ";

$body=" bet koks norimas pranešimas ";

$host="yourmailhost.com";

$username="jūsų vartotojo vardas arba el. $password="jūsų slaptažodis";

$headers=masyvas ('Nuo'=> $nuo, 'Iki'=> $kam, 'Tema'=> $subject);

$smtp=Paštas::factory('smtp', array ('host'=> $host, 'auth'=> true, 'naudotojo vardas'=> $naudotojo vardas, 'slaptažodis'=> $slaptažodis));

$mail=$smtp->siųsti($kam, $antraštės, $body);

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

echo("

". $mail->getMessage()."

);

} dar {echo("

Pranešimas sėkmingai išsiųstas!

);}

Pear Mail PHP scenarijaus pavyzdys, skirtas SMTP autentifikavimui ir SSL šifravimui

Jei norite naudoti SMTP autentifikavimą ir SSL šifravimą, turėsite atlikti keletą ankstesnio pavyzdžio modifikacijų. Turėsite nukreipti pagrindinio kompiuterio kintamąjį į savo SSL pašto serverį, taip pat nurodyti prievado numerį, pvz., 25, 465, 587, 2525 arba 8025. Jei negalite išsiaiškinti, kurį prievadą norite gauti, susisiekite su savo žiniatinklio pašto priegloba. naudoti.

request_once "Mail.php";

$from="Siuntėjo vardas ";

$to="Gavėjo vardas";

$subject=" Temos eilutė čia: ";

$body=" bet koks norimas pranešimas ";

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

$port="587"; $username="jūsų vartotojo vardas arba el. pašto adresas";

$password="jūsų slaptažodis";

$headers=masyvas ('Nuo'=> $nuo, ' Kam'=> $kam, 'Tema'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=>) $host, 'port'=> $port, 'auth'=> true, 'naudotojo vardas'=> $naudotojo vardas, 'password'=> $slaptažodis));

$mail=$smtp->send($to, $headers, $body);

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

echo("

". $mail->getMessage()."

);

} dar {echo("

Pranešimas sėkmingai išsiųstas!

);}

Rekomenduojamas: