Kennisbank

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

PHPMailer gebruiken bij Infomaniak

Bijwerken 13-08-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 daarvan kan veranderen afhankelijk van de leverancier of uitgeverDeze handleiding wordt dan ook slechts als indicatie verstrekt en de implementatie ervan blijft uw verantwoordelijkheid (zie: Servicevoorwaarden / Art. 11.9 van de algemene voorwaarden). Indien nodig kan een gekwalificeerde persoon u hierbij ondersteunen.


 

Inleiding

  • PHPMailer is een PHP-bibliotheek waarmee e-mails kunnen worden gemaakt en verzonden vanaf een website, onder andere via SMTP.
  • Hiermee kunnen onder andere berichten in HTML-formaat worden verzonden, een alternatieve tekstversie worden toegevoegd, bijlagen worden beheerd en SMTP-authenticatie worden gebruikt.
  • Voor het verzenden van e-mails via SMTP met authenticatie 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 ondersteunde versie van PHP.
  • Bij het verzenden van e-mails via SMTP met authenticatie moet het als afzender gebruikte adres overeenkomen met het e-mailadres dat voor de SMTP-authenticatie 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. Upload de benodigde bestanden naar 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';

 

Configureer het verzenden van e-mails via SMTP met Infomaniak

Gebruik de volgende geauthenticeerde 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 e-mailadres dat wordt gebruikt.

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 dan STARTTLS:

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

 

Controleer de PHP-versie en de TLS-compatibiliteit

Voor het verzenden van e-mail via geverifieerde SMTP is een recente, versleutelde verbinding vereist. 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
  • Kon niet authenticeren
  • stream_socket_enable_crypto()
  • een authenticatiefout, ook al is het wachtwoord correct

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 versie van PHPMailer 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 foutmelding 'Afzender komt niet overeen' oplossen

De foutmelding Afzender komt niet overeen, SMTP-code: 550, aanvullende SMTP-informatie: 5.7.1 kan optreden wanneer het adres dat als afzender wordt gebruikt, niet overeenkomt met het e-mailadres dat voor de SMTP-authenticatie wordt gebruikt. Hieronder een voorbeeld dat u moet vermijden:

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

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

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

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

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

Voorbeeld: een contactformulier

Als een bezoeker zijn e-mailadres invult in een formulier, gebruik dit dan niet als afzenderadres van het bericht. Gebruik het geverifieerde e-mailadres als afzender en voeg het e-mailadres 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 vanuit uw e-mailprogramma antwoorden op een bezoeker, zonder dat het bericht wordt verzonden met een niet-geautoriseerd afzenderadres.

 

Activeer tijdelijk de debugmodus

Schakel tijdelijk de debugmodus van PHPMailer in als er een fout optreedt, zodat u meer details over de SMTP-verbinding kunt zien:

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

Schakel deze modus na uw tests weer uit, 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?