Skip to main content

Odoslať e - mail zo skriptu PHP pomocou autentifikácie SMTP

Anonim

Odosielanie e-mailu z PHP skriptu je jednoduché, rýchle a jednoduché … ak to funguje!

Časť toho, čo robí PHP pošta () funkcia tak jednoduchá je jeho nedostatok flexibility, ale jeden problém s tým je, že akcie PHP pošta () zvyčajne neumožňuje používať server SMTP podľa vášho výberu a nepodporuje autentifikáciu SMTP.

Našťastie prekonanie vstavaných nedostatkov PHP nie je ťažké. Pre väčšinu používateľov elektronickej pošty ponúka bezplatný balík PEAR Mail všetku potrebnú silu a flexibilitu a overuje sa s požadovaným serverom odchádzajúcej pošty. Pre vylepšenú bezpečnosť sú šifrované pripojenia SSL podporované aj pre odosielanie pošty pomocou služby PEAR Mail.

Ako poslať e - mail zo skriptu PHP s autentifikáciou SMTP

Ak chcete začať, nainštalujte balík PEAR Mail. Zvyčajne to už bolo urobené pre vás s PHP 4 a neskôr, ale ak si nie ste istí, či ho už máte, pokračujte a nainštalujte ho.

Skopíruj tento kód:

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient '; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'mail.example.com'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }

Nájdite tučný text v našom príklade a zmeňte tie oblasti skriptu na to, čo je pre vás relevantné. To sú jediné oblasti, ktoré ste vy musieť zmeniť skript PHP, aby ste mohli pracovať, ale nezabudnite upraviť aj predmet a text.

  • z: E-mailová adresa, z ktorej chcete odoslať správu
  • na: E-mailová adresa a názov príjemcu
  • hostiteľ: Odchádzajúci názov servera SMTP
  • užívateľské meno: Užívateľské meno SMTP (zvyčajne rovnaké ako používateľské meno použité na získavanie pošty)
  • heslo: Heslo pre overenie SMTP

Poznámka: Vyššie uvedený príklad je PHP skript, ktorý pošle e-mail s autentifikáciou SMTP, ale bez SSL šifrovanie. Ak chcete aj šifrovanie, použite tento skript namiesto toho, aby ste vymenili tučný text s vašimi informáciami.

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient >'; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'ssl://mail.example.com'; $port = '465'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }