Skip to main content

Pošalji e-poštu iz PHP skripte pomoću SMTP autentifikacije

James Lyne: Everyday cybercrime -- and what you can do about it (Lipanj 2025)

James Lyne: Everyday cybercrime -- and what you can do about it (Lipanj 2025)
Anonim

Slanje e-pošte iz PHP skripte je jednostavno, brzo i jednostavno … ako to radi!

Dio onoga što čini PHP pošte () funkcija tako jednostavna je njegov nedostatak fleksibilnosti, ali jedan problem s tim je da je zaliha PHP pošte () obično vam ne dopušta korištenje SMTP poslužitelja po vašem izboru i ne podržava SMTP autentifikaciju.

Srećom, prevladavanje ugrađenih nedostataka PHP-a nije teško. Za većinu korisnika e-pošte, besplatni paket PEAR Mail nudi svu potrebnu snagu i fleksibilnost, a autentificira s vašim željenim poslužiteljem za odlazne poruke. Za poboljšanu sigurnost kriptirane SSL veze podržavaju i za slanje e-pošte putem PEAR Mail-a.

Kako poslati e-poštu iz PHP skripte s SMTP autentifikacijom

Za početak instalirajte paket PEAR Mail. Obično će to već biti učinjeno za vas s PHP 4 i novijim verzijama, ali ako niste sigurni jeste li ga već imali, idite naprijed i instalirajte je.

Kopiraj ovaj kod:

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!

'); }

Pronađite sav podebljani tekst u našem primjeru i promijenite ona područja skripte na ono što vam je važno. To su samo područja koja vas mora promijenite kako bi PHP skripta funkcionirala, ali također pazite da prilagodite tekst objekta i tijela.

  • iz: Adresa e-pošte od koje želite poslati poruku
  • do: Adresa e-pošte i ime primatelja
  • domaćin: Naziv vašeg odlaznog SMTP poslužitelja
  • Korisničko ime: SMTP korisničko ime (obično isto kao i korisničko ime za preuzimanje pošte)
  • zaporka: Lozinka za SMTP autentifikaciju

Bilješka: Gornji primjer je PHP skripte koja šalje e-poštu s SMTP autentifikacijom, ali bez SSL enkripcija. Ako želite i šifriranje, umjesto toga upotrijebite ovu skriptu i zamijenite podebljan tekst svojim podacima.

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!

'); }