Als u de mail() functie van PHP gebruikt dan krijgt u als afzender accountnaam@uwdomein.xx. Dat is niet te wijzigen en zal fouten opleveren of zal tot gevolg hebben dat de mail als spam gezien wordt.
Het beste is om gebruik te maken van SMTP. Op het net zijn vele gratis php classes hiervan te vinden. Dan wordt de mail via smtp verstuurd en kan de afzender eenvoudig bepaald worden.

Een veelgebruikte optie is PHPMailer

Daarnaast is het ook mogelijk om met PEAR Mail rechtstreeks via SMTP te mailen. Dit is vooral handig bij formulieren of maatwerk scripts.

https://pear.php.net/package/Mail
https://pear.php.net/package/Net_SMTP
https://pear.php.net/package/Auth_SASL

Voorbeeld: SMTP-mail versturen met PEAR

<?php

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT);

// PEAR Mail laden
require_once 'Mail.php';

// SMTP-instellingen
$smtp_host = 'ssl://mail.server.tld';
$smtp_port = 465;
$smtp_user = 'user@domein.nl';
$smtp_pass = 'wachtwoord';

// E-mailgegevens
$to      = 'ontvanger@domein.nl';
$from    = 'user@domein.nl';
$subject = 'Testbericht';
$body    = 'Dit is een testmail verzonden via SMTP.';
$reply   = 'user@domein.nl';

// Headers
$headers = array(
    'From'      => $from,
    'To'        => $to,
    'Subject'   => $subject,
    'Reply-To'  => $reply
);

// SMTP object
$smtp = Mail::factory('smtp', array(
    'host'     => $smtp_host,
    'port'     => $smtp_port,
    'auth'     => true,
    'username' => $smtp_user,
    'password' => $smtp_pass
));

// Mail verzenden
$result = $smtp->send($to, $headers, $body);

if (PEAR::isError($result)):
    echo $result->getMessage();
else:
    echo 'E-mail succesvol verzonden';
endif;

 

 

Cette réponse était-elle pertinente? 12 Utilisateurs l'ont trouvée utile (17 Votes)