de PHP mail() functie is eenvoudig, gebruiksvriendelijk en werkt geweldig, maar is ook extreem inflexibel. Als je een SMTP-server wilt specificeren voor het script dat moet worden gebruikt, of SMTP-authenticatie wilt gebruiken, heb je pech. Om deze beperkingen te overwinnen en e-mail te verzenden vanuit uw PHP-script met behulp van SMTP-authenticatie, moet u zich wenden tot een PHP-klasse zoals PHPmailer of het PEAR Mail-pakket.
E-mail verzenden met de PHP-mailfunctie
Wanneer u de PHP . gebruikt mail() functie verstuurt u e-mail rechtstreeks vanaf uw webserver in plaats van uw mailserver. Als je een mailserver hebt via je webhost, of zelfs een mailserver met een andere host, is het meestal beter om daar mail via te sturen. Het probleem is dat de PHP mail() functie biedt geen ingebouwde manier om e-mail te verzenden via SMTP. Als je die functionaliteit wilt openen, moet je een extra PHP-klasse installeren. Hier zijn enkele opties die werken:
- PHPmailer
- SwiftMailer
- Zend_Mail
- XpertMailer
- PEAR Mail
We laten u zien hoe u PEAR Mail gebruikt, maar u kunt elke klasse gebruiken die SMTP ondersteunt.
Hoe PEAR te gebruiken om e-mail te verzenden via SMTP
-
Zorg ervoor dat uw domein verwijst naar de Mail Exchange (MX)-records van uw mailserverhost en noteer uw mailservernaam. Dit kan bijvoorbeeld mail.uwdomein.net of smtp.uwdomein.net zijn.
-
Controleer of PEAR Mail al op uw mailserver is geïnstalleerd.
-
Als PEAR Mail niet is geïnstalleerd, neem dan contact op met uw webmailhost voor specifieke instructies om het te installeren.
-
Zodra PEAR Mail is geïnstalleerd, past u een van de PHP-voorbeeldbestanden in de volgende secties aan uw behoeften aan.
Voorbeeld PEAR Mail PHP-script voor SMTP-mail
Je kunt je eigen script helemaal opnieuw maken als je wilt, of het volgende voorbeeld naar wens aanpassen. Zorg ervoor dat u de naam van uw webmailserver invoert in de hostvariabele en gebruik uw aanmeldingsgegevens voor uw webmailhost in de gebruikersnaam- en wachtwoordvelden. vereisen_once “Mail.php”;
$from = “Naam afzender
$to = “Naam ontvanger
$subject = ” Onderwerpregel hier: “;
$body = ” elk bericht dat u wilt “;
$host = “uwmailhost.com”;
$username = “uw gebruikersnaam of e-mailadres”;
$password = “uw wachtwoord”;
$headers = array (‘Van’ => $van,
‘Naar’ => $naar,
‘Onderwerp’ => $onderwerp);
$smtp = Mail::fabriek(‘smtp’,
array (‘host’ => $host,
‘auth’ => waar,
‘gebruikersnaam’ => $gebruikersnaam,
‘wachtwoord’ => $wachtwoord));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo(“
” . $mail->getMessage() . “
“);
} anders {
echo(“
Bericht succesvol verzonden!
“);
}
?>
Voorbeeld PEAR Mail PHP-script voor SMTP-authenticatie en SSL-codering
Als u SMTP-authenticatie en SSL-codering wilt gebruiken, moet u een paar wijzigingen aanbrengen in het vorige voorbeeld. U moet de hostvariabele naar uw SSL-mailserver verwijzen en ook een poortnummer opgeven, zoals 25, 465, 587, 2525 of 8025. Neem contact op met uw webmailhost voor meer informatie als u niet kunt achterhalen welke poort u moet gebruiken. gebruik. vereisen_once “Mail.php”;
$from = “Naam afzender
$to = “Naam ontvanger
$subject = ” Onderwerpregel hier: “;
$body = ” elk bericht dat u wilt “;
$host = “ssl://uwmailhost.com”;
$poort = “587”;
$username = “uw gebruikersnaam of e-mailadres”;
$password = “uw wachtwoord”;
$headers = array (‘Van’ => $van,
‘Naar’ => $naar,
‘Onderwerp’ => $onderwerp);
$smtp = Mail::fabriek(‘smtp’,
array (‘host’ => $host,
‘poort’ => $poort,
‘auth’ => waar,
‘gebruikersnaam’ => $gebruikersnaam,
‘wachtwoord’ => $wachtwoord));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo(“
” . $mail->getMessage() . “
“);
} anders {
echo(“
Bericht succesvol verzonden!
“);
}
?>