Skip to main content

E-mail verzenden vanuit een PHP-script met SMTP-verificatie

Linux Tutorial for Beginners: Introduction to Linux Operating System (April 2025)

Linux Tutorial for Beginners: Introduction to Linux Operating System (April 2025)
Anonim

Het verzenden van een e-mail vanuit een PHP-script is eenvoudig, snel en gemakkelijk … als het werkt!

Onderdeel van wat de PHP maakt mail() functie zo eenvoudig is het gebrek aan flexibiliteit, maar een probleem daarbij is dat de voorraad PHP mail() laat u meestal niet de SMTP-server van uw keuze gebruiken en ondersteunt geen SMTP-authenticatie.

Gelukkig is het niet moeilijk om de ingebouwde tekortkomingen van PHP te overwinnen. Voor de meeste e-mailgebruikers biedt het gratis PEAR Mail-pakket alle kracht en flexibiliteit die nodig is en wordt het geverifieerd met de door u gewenste uitgaande mailserver. Voor een betere beveiliging worden gecodeerde SSL-verbindingen ook ondersteund voor het verzenden van e-mail met PEAR Mail.

Hoe e-mail verzenden van een PHP-script met SMTP-verificatie

Installeer om te beginnen het PEAR Mail-pakket. Meestal is dit al voor u gedaan met PHP 4 en later, maar als u niet zeker weet of u het al hebt, kunt u het installeren.

Kopieer deze code:

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!

'); }

Lokaliseer alle vetgedrukte tekst in ons voorbeeld en verander die delen van het script in alles wat voor u relevant is. Dat zijn de enige gebieden die jij bent moet wijzigen om het PHP-script te laten werken, maar zorg er ook voor dat u het onderwerp en de hoofdtekst aanpast.

  • van: Het e-mailadres van waaruit u het bericht wilt verzenden
  • naar: Het e-mailadres en de naam van de ontvanger
  • gastheer: Uw uitgaande SMTP-servernaam
  • gebruikersnaam: De SMTP-gebruikersnaam (meestal hetzelfde als de gebruikersnaam die wordt gebruikt om e-mail op te halen)
  • wachtwoord: Het wachtwoord voor SMTP-authenticatie

Notitie: Het bovenstaande voorbeeld is van een PHP-script dat een e-mail verzendt met SMTP-verificatie maar zonder SSL-codering. Als u ook codering wilt, gebruik dan dit script, opnieuw, wissel de vetgedrukte tekst om met uw informatie.

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!

'); }