Egyszerű SMTP plugin készítése WordPressben előnézeti képe

Egyszerű SMTP plugin készítése WordPressben

| Olvasási idő: 1 perc

Egy korábbi cikkben is foglalkoztam már a témával, de még egyszer visszatérek rá, ezúttal plugin nélkül: hogyan állítsunk be külső levélküldő szolgáltatót a WordPress oldalunkhoz. Ha nincsenek nagy igényeink, mint például nem kell automatikusan felhasználókat leiratkoztatnunk a visszapattanó levelek alapján, csak azt szeretnénk, ha minden e-mailünk, amit a WordPress küldeni szeretne, rendben megérkezzen (pl. kapcsolati űrlap kitöltése után, vagy WooCommerceben leadott rendelést követően), akkor az alábbi snippet tökéletes megoldás lesz.

Barna hozta a szokásos videóját - amit az oldal alján találtok -, alább pedig én foglalom össze a tudnivalókat, írásos formában. Vágjunk is bele!

Ahogy már megszokhattuk, hozzunk létre egy php fájlt az mu-plugins mappánkban (ha erről a részről lemaradtál volna, a linkre kattintva gyorsan be tudod pótolni), mondjuk custom-mailer.php néven, az alábbi tartalommal:

php
<?php
/*
Plugin Name: Mailer plugin
Plugin URI: https://www.webmenedzser.hu
Description: Simple PHPMailer plugin for WordPress
Version: 1.0
Author: Radics Ottó
Author URI: https://www.webmenedzser.hu
License: GPL2
*/

function mailtrap($phpmailer) {
    /* 
    * További részletek: https://github.com/PHPMailer/PHPMailer#a-simple-example
    */ 
    
    $phpmailer->isSMTP();
    
    // Az SMTP szerver helye
    $phpmailer->Host = 'smtp.mailtrap.io';
    
    // Kér felhasználónevet és jelszót az SMTP szerver
    $phpmailer->SMTPAuth = true;
    
    // Küldéshez használt port száma
    $phpmailer->Port = 2525;
    
    // E-mail fiók felhasználóneve
    $phpmailer->Username = '8e2742b4cba7dd';
    
    // E-mail fiók jelszava
    $phpmailer->Password = 'fc6a4a3c4e60e9';
}
add_action('phpmailer_init', 'mailtrap');

A fenti snippet minden kimenő levelünket az smtp.mailtrap.io hoston, hitelesítést követően, a 2525-ös porton keresztül, a 8e2742b4cba7dd felhasználónévvel és fc6a4a3c4e60e9 jelszóval küldi innentől kezdve. (Ezek az adatok nyilván példák, a fenti a saját teszt postafiókom, azt ne használjátok. :P) Ha további paraméterekre van szükséged, itt találsz egy egyszerű példát - értelemszerűen a $mail-t $phpmailer-re kell cserélni, hogy a fenti kontextusban működjön. 

Készen is vagyunk! Ugye, hogy ment ez plugin nélkül is? ;) 

Frissítés, 2019. március 20.
Egy súlyos sebezhetőséget találtak az Easy WP SMTP plugin-ban, amivel többek között adminisztrátori szintű jogosultságot szerezhetett a támadó (vagy oszthatott ki minden regisztrált felhasználónak az oldalon). Egy újabb ok, hogy miért készítsük el a levelezés beállítására a saját "pluginunkat".

Most pedig következzen Barna, videós formában: