Skip to main content

Odeslat e-mail z PHP skriptu pomocí ověřování SMTP

Internet Technologies - Computer Science for Business Leaders 2016 (Smět 2025)

Internet Technologies - Computer Science for Business Leaders 2016 (Smět 2025)
Anonim

Odeslání e-mailu z PHP skriptu je jednoduché, rychlé a snadné … pokud to funguje!

Část toho, co dělá PHP pošta() funkce tak jednoduché je jeho nedostatek flexibility, ale jeden problém s tím je, že akcie PHP pošta() obvykle vám neumožňuje používat SMTP server podle vašeho výběru a nepodporuje ověřování SMTP.

Naštěstí překonání vestavěných nedostatků PHP není obtížné. Pro většinu uživatelů elektronické pošty nabízí bezplatný balík PEAR Mail veškerou potřebnou sílu a flexibilitu a ověří se pomocí požadovaného serveru pro odchozí poštu. Pro vylepšené zabezpečení jsou šifrované připojení SSL podporovány i pro odesílání pošty pomocí služby PEAR Mail.

Jak odeslat e - mail z PHP skriptu s ověřením SMTP

Začněte instalací balíčku PEAR Mail. Typicky to bude již pro vás provedeno s PHP 4 a později, ale pokud si nejste jisti, jestli ho již máte, pokračujte a nainstalujte jej.

Zkopírujte 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!

'); }

Najděte tučný text v našem příkladu a změňte ty oblasti skriptu na to, co je pro vás relevantní. To jsou ty jediné oblasti, které jste vy musí změňte, aby PHP skript fungoval, ale nezapomeňte také upravovat text předmětu a textu.

  • z: E-mailová adresa, ze které chcete poslat zprávu
  • na: E-mailová adresa a jméno příjemce
  • hostitel: Název odchozího SMTP serveru
  • uživatelské jméno: Uživatelské jméno SMTP (typicky stejné jako uživatelské jméno použité k načtení pošty)
  • Heslo: Heslo pro autentizaci SMTP

Poznámka: Výše uvedený příklad je skript PHP, který odešle e-mail s ověřením SMTP, ale bez SSL šifrování. Pokud chcete také šifrování, použijte místo toho tento skript a vyměňte tučný text s informacemi.

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!

'); }