Kennisbank

1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!

PHPMailer gebruiken op Infomaniak

Bijwerken 30-06-2026

Deze handleiding legt uit hoe u PHPMailer kunt gebruiken met de webhosting van Infomaniak om e-mails vanaf een website te verzenden.

 

⚠ LET OP ⚠

Infomaniak garandeert dat haar diensten voldoen aan de standaardprotocollen (IMAP, S3, enz.), maar biedt geen extra ondersteuning voor externe diensten of software, omdat de configuratie ervan kan veranderen afhankelijk van de leverancier of uitgever. Deze handleiding wordt daarom ter informatie verstrekt en de implementatie blijft uw verantwoordelijkheid (zie: Ondersteuningsbeleid / Art. 11.9 van de algemene voorwaarden). Indien nodig kan een gekwalificeerde persoon u hierbij helpen.


 

Inleiding

  • PHPMailer is een PHP-bibliotheek waarmee u e-mails kunt maken en verzenden vanaf een website, onder andere via SMTP.
  • Hiermee kunt u onder andere berichten in HTML-formaat verzenden, een alternatieve tekstversie toevoegen, bijlagen beheren en SMTP-authenticatie gebruiken.
  • Voor een geverifieerde verzending via SMTP moet de PHP-omgeving die door de website wordt gebruikt, compatibel zijn met een recente versleutelde verbinding, met name TLS 1.2 of hoger.
    • Een te oude versie van PHP of de OpenSSL-bibliotheek die door PHP wordt gebruikt, kan een verbindings- of authenticatiefout veroorzaken, zelfs als het e-mailadres en het wachtwoord correct zijn.
    • Gebruik geen PHP 5.3/5.4 voor dit type verzending; gebruik een recente en onderhouden versie van PHP.
  • Bij het gebruik van geverifieerde SMTP-verzending moet het als afzender gebruikte e-mailadres overeenkomen met het e-mailadres dat voor de SMTP-verificatie wordt gebruikt.

 

PHPMailer installeren

Om PHPMailer te gebruiken, installeert u de bibliotheek in de bestanden van uw website.

  1. Download PHPMailer van de officiële repository of installeer het met Composer als uw project dit gebruikt.
  2. Kopieer de PHPMailer-bestanden naar een map op uw website via FTP.
  3. Laad de benodigde bestanden in uw PHP-script en pas het pad aan op basis van de gekozen locatie:

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    
    require **DIR** . '/PHPMailer/src/Exception.php';
    require **DIR** . '/PHPMailer/src/PHPMailer.php';
    require **DIR** . '/PHPMailer/src/SMTP.php';

 

SMTP-verzending configureren met Infomaniak

Gebruik de volgende geverifieerde SMTP-instellingen:

  • SMTP-server: mail.infomaniak.com
  • Poort: 465
  • Versleuteling: SMTPS / SSL-TLS
  • Authenticatie: verplicht
  • Gebruikersnaam: het volledige e-mailadres
  • Wachtwoord: het wachtwoord van het gebruikte e-mailadres

Voorbeeld van een volledige configuratie:

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require **DIR** . '/PHPMailer/src/Exception.php';
require **DIR** . '/PHPMailer/src/PHPMailer.php';
require **DIR** . '/PHPMailer/src/SMTP.php';

$mail = new PHPMailer(true);

try {
// Configuration SMTP
$mail->isSMTP();
$mail->Host       = 'mail.infomaniak.com';
$mail->SMTPAuth   = true;
$mail->Username   = '[sender@domain.xyz](mailto:sender@domain.xyz)';
$mail->Password   = 'mot_de_passe_de_l_adresse_mail';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port       = 465;
$mail->CharSet    = 'UTF-8';

```
// Expéditeur
// L'adresse doit correspondre à celle utilisée pour l'authentification SMTP.
$mail->setFrom('sender@domain.xyz', 'Nom du site');

// Destinataire
$mail->addAddress('recipient@example.com');

// Adresse de réponse facultative
$mail->addReplyTo('sender@domain.xyz', 'Nom du site');

// Contenu du message
$mail->isHTML(true);
$mail->Subject = 'Message envoyé depuis le site';
$mail->Body    = '<p>Contenu HTML du message.</p>';
$mail->AltBody = 'Contenu texte du message.';

$mail->send();
echo 'Message envoyé';
```

} catch (Exception $e) {
echo 'Le message n’a pas pu être envoyé. Erreur: ' . htmlspecialchars($mail->ErrorInfo);
}

Als uw applicatie het gebruik van poort 587 vereist, gebruikt u STARTTLS:

$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port       = 587;

 

Controleer de PHP-versie en de TLS-compatibiliteit

Geverifieerde SMTP-verzending vereist een recente, versleutelde verbinding. Als de website een te oude versie van PHP gebruikt, bijvoorbeeld PHP 5.3, of een te oude OpenSSL-bibliotheek, kan PHPMailer mislukken, vóór of tijdens de authenticatie. De foutmeldingen kunnen dan misleidend zijn, bijvoorbeeld:

  • SMTP connect() failed
  • Could not authenticate
  • stream_socket_enable_crypto()
  • een authenticatiefout, terwijl het wachtwoord correct is

Controleer in dat geval de volgende punten:

  1. de PHP-versie die door de website wordt gebruikt;
  2. de OpenSSL-versie die door PHP wordt gebruikt;
  3. de PHPMailer-versie die door uw project wordt gebruikt;
  4. de overeenkomst tussen de SMTP-poort en de gekozen versleuteling.

Voor een betrouwbare configuratie gebruikt u een recente versie van PHP, die compatibel is met TLS 1.2 of hoger, en een actuele versie van PHPMailer. Raadpleeg indien nodig de volgende handleidingen:

 

Een 'Sender mismatch'-fout oplossen

De fout Sender mismatch SMTP code: 550 Additional SMTP info: 5.7.1 kan optreden wanneer het adres dat als afzender wordt gebruikt, niet overeenkomt met het e-mailadres dat wordt gebruikt voor de SMTP-authenticatie. Vermijd bijvoorbeeld het volgende:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('another-address@domain.xyz', 'Nom du site');

In dit voorbeeld authenticeert het script met sender@domain.xyz, maar probeert het bericht te verzenden met een ander afzenderadres.

Gebruik hetzelfde e-mailadres voor de SMTP-authenticatie en als afzender:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Nom du site');

De naam van de afzender kan worden aangepast, maar het e-mailadres moet consistent blijven met het gebruikte SMTP-account.

Het geval van een contactformulier

Als een bezoeker zijn e-mailadres invult in een formulier, gebruik dit dan niet als afzenderadres van het bericht. Gebruik het geauthenticeerde e-mailadres als afzender en voeg het adres van de bezoeker toe als antwoordadres.

Voorbeeld:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Formulaire du site');
$mail->addReplyTo($email_visiteur);

Met deze configuratie kunt u antwoorden aan de bezoeker via uw e-mailprogramma, zonder het bericht te verzenden met een niet-geautoriseerd afzenderadres.

 

Tijdelijk de debugmodus activeren

In geval van een fout, activeer tijdelijk de debugmodus van PHPMailer om meer details te krijgen over de SMTP-verbinding:

$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';

Schakel deze modus uit na uw tests, zodat er geen technische informatie aan de bezoekers van de website wordt getoond.

 

Meer informatie

Link naar deze veelgestelde vragen: https://faq.infomaniak.com/576


Is deze veelgestelde vragenlijst nuttig geweest?