Email küldés WordPress tárhelyről

Kategóriák:

A WordPress keretrendszer alapvetően a PHP mail függvényen keresztül küldi ki a leveleket. Ez a gyakorlatban azt jelenti, hogy annak a felhasználónak a nevében mennek ki az e-mailek, akinek a nevében fut a weboldal. Pl. ha mintakft.hu weboldala a donna.bc.hu szerveren van, akkor a levél feladója mintakft-hu@donna.bc.hu lesz. Ezzel ugyan technikailag működik a küldés, de se nem szép, se nem jó. Az elsődleges probléma az vele, hogy ha valaki válaszolni szeretne rá, akkor az nem fog eljutni a weboldal üzemeltetőjéhez, mivel ez a cím nem létezik. Sőt, ha hibás a címzett email címe, akkor a visszapattanó hibajelzés sem jut el a feladóhoz, így nem is értesül a sikertelen küldésről. Arra is nagy esély van, hogy ilyen feladóval a címzettnél a spam levelek közé kerül az e-mail.

Maga a WordPress nem kínál másfajta email küldési módot, de sok olyan plugin létezik, amelyekkel megoldható az SMTP szerveren keresztül történő authentikált küldés. Ezek sok beállítással rendelkeznek, sok felesleges funkciót is tartalmaznak, emiatt feleslegesen bonyolultak. Több esetben is előfordult, hogy ezeknek a pluginoknak a sebezhetőségét kihasználva történtek spam küldések.

Létezik egy nagyon egyszerű megoldás, amivel külön plugin telepítése nélkül is megvalósítható az SMTP szerveren keresztüli küldés. Ehhez csak annyira van szükség, hogy a weboldal kódjában bármilyen olyan helyen elhelyezni a következő sorokat, amelyeket a WordPress induláskor inicializál (pl. function.php).

Maga kód:

add_action( 'phpmailer_init', 'local_smtp' );
function local_smtp( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'donna.bc.hu';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = '587';
$phpmailer->Username = 'hello@mintakft.hu';
$phpmailer->Password = 'a-jelszo-helye';
$phpmailer->SMTPSecure = 'tls';
$phpmailer->From = 'hello@mintakft.hu';
$phpmailer->FromName = 'Minta Kft.'; 
}

A fenti mintakódban szereplő minta adatokat értelemszerűen valós adatokkal
kell behelyettesíteni:

  • Host: az SMTP szerver neve
  • Username / Password: az SMTP szerveren érvényes email fiókhoz tartozó
    felhasználói név és jelszó
  • From: a feladóként látszódó email cím. Jellemzően megegyezik a
    felhasználói névvel, de nem kell ugyanannak lennie
  • FromName: a feladóként látható név.

Fontos, hogy ha az SMTP szerver nem egyezik meg azzal a szerverrel amelyiken a weboldal található, akkor azt a tűzfalon is engedélyezni kell, ezért az admin@bc.hu címre küldött emailben kérjük jelezni az igényt!