Kan ik WordPress e-mail met SMTP laten versturen? Ja, in dit artikel leggen we je uit hoe je uitgaande SMTP correct instelt in WordPress. Het is belangrijk dat je dit met SMTP authenticatie doet over een met SSL/TLS-beveiligde verbinding.
Inhoudsopgave
- Inleiding
- SMTP Mailer
- WP Mail SMTP
- Post SMTP / Email log
- Auth-SMTP plugin in eigen beheer
- Bijzonderheden: SSL en poort 465 voor Gmail
Inleiding
E-mail via authenticated SMTP en over een TLS-beveiligde verbinding versturen biedt een grotere zekerheid van het aankomen van e-mails bij de ontvangers. Als je dit anoniem via de webserver localhost verstuurt, dan wordt het sneller als spam aangemerkt.
Zorg ervoor dat je in ieder geval een e-mailaccount bij Vevida beschikbaar hebt, en de daarbij behorende inloggegevens (e-mailadres + wachtwoord). De in dit artikel gebruikte gegevens zijn fictief. Vervang info@example.nl en het wachtwoord door de inloggegevens van jouw e-mailaccount.
Let op: vaak zetten plugins je wachtwoord leesbaar in de database! Zorg ervoor dat dit verwijderd wordt als je een plugin niet meer gebruikt en verwijdert.
SMTP Mailer
De SMTP Mailer plugin maakt een menu item aan onder Instellingen, genaamd SMTP Mailer. Hier kun je in één pagina de volgende instellingen maken:
- SMTP host: smtp.vevida.com
- SMTP authenticatie: Ja
- SMTP gebruikersnaam: e-mailadres (bijv. info@example.nl)
- SMTP wachtwoord: het wachtwoord van het account
- Type versleuteling: TLS
- SMTP poort: 587
- E-mailadres afzender: e-mailadres (bijv. info@example.nl)
- Naam afzender: Je naam
- SSL verificatie uitschakelen: Nee, dus uitgevinkt laten
Sla de instellingen op met de knop Wijzigingen opslaan. Via kun je via de tab Test e-mail stuur je eenvoudig een testbericht.
WP Mail SMTP
Heb je WP Mail SMTP by WPForms éénmaal geïnstalleerd en geactiveerd, dan vind je een menu-item WP-Mail-SMTP onder Instellingen. De volgende instellingen neem je op onder Algemeen:
- E-mailadres afzender: e-mailadres vanwaaruit de e-mails worden gestuurd (bijv. info@example.nl)
- Mailer: Andere SMTP-service aanvinken
- Onderdeel Andere SMTP-service
- SMTP-host: smtp.vevida.com
- Versleuteling: TLS
- SMTP-poort: 587
- Auto-TLS: Aan
- Authenticatie: Aan
- SMTP-gebruikersnaam: e-mailadres (bijv. info@example.nl)
- SMTP-wachtwoord: het-wachtwoord van het account
Klik hierna op de knop Instellingen Opslaan. Via de tab E-mailtest kun je nu een test e-mail sturen.
Post SMTP / Email log
Als Post SMTP Mailer/Email Log geïnstalleerd en geactiveerd, dan vind je de plugin-opties via het nieuwe menu-item Post SMTP. Toon alle instellingen is de meest snelle manier om de plugin te configureren voor authenticated SMTP en StartTLS.
Tabblad: Account
Onderdeel: Transport:
- Type: SMTP
- Mailer type: PostSMTP
Onderdeel Transport instellingen:
- Uitgaande e-mailserver hostnaam: smtp.vevida.com
- Uitgaande e-mailserver poort: 587
- Envelope-From e-mailadres: e-mailadres (bijv. info@example.nl)
- Beveiliging: STARTTLS
- Authenticatie: Plain
Onderdeel Authenticatie:
- Gebruikersnaam: e-mailadres (bijv. info@example.nl)
- Wachtwoord: het wachtwoord van het account
Ga naar het tabblad Bericht, vul bij E-mailadres je e-mailadres weer in.
Hierna klik je Wijzigingen opslaan en via Verstuur een testbericht kun je nu een test e-mail sturen. Via het menu item E-mail log kun je een log inzien van alle verzonden e-mailberichten. Dat kan handig zijn, maar dit kan ook erg snel heel veel worden. Verwijder logberichten regelmatig en leeg de prullenbak daarna.
Auth-SMTP plugin in eigen beheer
Voor geavanceerde WordPress-gebruikers, Vevida geeft hierop geen ondersteuning.
Als je niet afhankelijk wilt zijn van een externe pluginleverancier, of niet wilt dat het wachtwoord van je e-mailadres in de MySQL-database staat opgeslagen, dan kun je vrij eenvoudig je eigen plugin hiervoor ontwikkelen. Of de functionaliteit toevoegen aan je al bestaande site-specific plugin.
Ga als volgt te werk, een kort stappenplan:
- Maak een map wp-eigen-smtp, met daarin het bestand wp-eigen-smtp.php. De map- en bestandsnaam mogen niet overeenkomen met een bestaande WordPress plugin. Voeg je eigen plugin-header eraan toe: <?php /** * Send authenticated SMTP email over TLS with WordPress * @wordpress-plugin * Plugin Name: Authenticated SMTP e-mail over TLS in WordPress * Plugin URI: https://vevida.com * Description: Sends email using authenticated SMTP (SMTP AUTH), over an TLS encrypted connection in WordPress. * Version: 1.4 * Author: Jan Reilink * Author URI: https://www.saotn.org * License: GPL-2.0+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt */
- Open het bestand wp-includes/pluggable.php en scroll naar regel 145 (GitHub link).
- Kopieer en plak alle code vanaf if ( ! function_exists( 'wp_mail' ) ) :, inclusief de functie wp_mail, tot en met endif; op regel 550 in het eigen pluginbestand, onder de plugin-header.
- Vervang endif; door afsluitende accolade }.
- Zoek de regel $phpmailer->isMail(); en vervang dit door $phpmailer->isSMTP();.
- Direct hieronder plaats je de volgende PHP-code: $phpmailer->SMTPSecure = SMTP_SECURE; // set security schema $phpmailer->SMTPAuth = SMTP_AUTH; // enable SMTP authentication $phpmailer->Port = SMTP_PORT; // set the SMTP server port $phpmailer->Host = SMTP_HOST; // SMTP server $phpmailer->Username = SMTP_USER; // SMTP server username $phpmailer->Password = SMTP_PASS; // SMTP server password $phpmailer->From = SMTP_FROM; // SMTP From email address $phpmailer->FromName = SMTP_FROM_NAME; // SMTP From name $phpmailer->SMTPDebug = SMTP_DEBUG; // debug can be very verbose
Upload je plugin (eventueel eerst inpakken als .zip-bestand).
Nu configureer je je eigen SMTP-mailer plugin door in wp-config.php de volgende instellingen op te nemen:
define( 'SMTP_USER', 'info@example.nl' ); define( 'SMTP_PASS', 'het-wachtwoord' ); define( 'SMTP_PORT', '587' ); define( 'SMTP_SECURE', 'tls' ); define( 'SMTP_AUTH', true ); define( 'SMTP_HOST', 'smtp.vevida.com' ); /* als je een ander From-adres opgeeft */ define( 'SMTP_FROM', 'afzender@example.nl' ); /* naam v/d afzender */ define( 'SMTP_FROM_NAME', 'Vevida WP hosting' ); /* alleen voor debugging, zet dan op 1 of 2 pas op voor wachtwoorden op het scherm */ define( 'SMTP_DEBUG', 0 );
Activeer je plugin en e-mails die WordPress nu verstuurt met de wp_mail() functie gaan via authenticated SMTP over een beveiligde TLS-verbinding.
Dit heeft het lichte voordeel dat het wachtwoord van je e-mailaccount niet in de database staat. Een nadeel is dat je regelmatig de code in wp-includes/pluggable.php moet controleren, het kan maar zo stoppen met functioneren. Vanwege updates in dit pluggable.php-bestand kunnen genoemde regelnummers afwijken van de werkelijkheid.
Bijzonderheden: SSL en poort 465 voor Gmail
In de meeste plugins kan je ook GMail als uitgaande SMTP-server in WordPress gebruiken. In plaats van StartTLS en poort 587 stel je SSL en poort 465 in. Dit kan handig zijn als je smtp.gmail.com wilt gebruiken.
Maar let op: als je GMail SMTP wilt gebruiken moet je Toegang door minder goed beveiligde apps inschakelen in je Google Account. Dat is iets wat wij niet aanraden!