Onderstaande instructies zorgen dat alle mail die jouw Wordpress website verstuurt via de ingestelde SMTP Server worden verzonden. Je kunt hier bijvoorbeeld jouw Gmail account instellen, of de Perfacilis Mail Service gebruiken.

SMTP instellingen in wp-config.php

Plaats onderstaande in wp-config.php .
Let op: dit moet voor de regel waar ABSPATH wordt gedefinieerd!

define('SMTP_HOST', 'mail.perfacilis.com');
define('SMTP_PORT', '465');
define('SMTP_USER', 'ad@friet.pan');
define('SMTP_PASS', 'NotInRockYou');
define('SMTP_SECURE', 'ssl');

De waarde voor SMTP_SECURE kan ingesteld worden op: ' tls' voor STARTTLS , ' ssl' voor SMTPS of '' (leeg) voor geen versleuteling.
Voor Perfacilis Mail (en de meeste andere services) adviseren we de volgende combinaties:

  • Setting port 465 and secure to 'ssl' ;
  • Setting port 587 and secure to 'tls' .

PHPMailer via SMTP laten versturen

Plaats vervolgens onderstaande in functions.php van het actieve thema, of ergens waar deze code bij elke page-view wordt uitgevoerd:

add_action('phpmailer_init', function(\PHPMailer\PHPMailer\PHPMailer $mailer) {
  $mailer->isSMTP();
  $mailer->Host = SMTP_HOST;
  $mailer->Port = SMTP_PORT;
  $mailer->SMTPSecure = SMTP_SECURE;

  if (SMTP_USER && SMTP_PASS) {
    $mailer->SMTPAuth = true;
    $mailer->Username = SMTP_USER;
    $mailer->Password = SMTP_PASS;
  }
});

SMTP instellingen testen

Als laatste kun je met deze uiterst lelijke (maar effectieve) manier heel simpel testen of alles werkt.
Voeg dit stuk code toe onder bovenstaand blok in je functions.php en open vervolgens jouw site.

Voeg aan de url '?testmail' toe en de mail wordt verzonden, dus als jouw homepage https://mijnsite.nl is, dan ga navigeer je nu naar https://mijnsite.nl?testmail. Werkt alles? Haal onderstaande regels dan maar weg.

if (filter_input(INPUT_GET, 'testmail', FILTER_VALIDATE_BOOL)) {
  echo 'Sending message!';
  var_dump( wp_mail('your@email.address', 'Test123', 'Body, it is now: ' . time()) );
  exit;
}