Betöltés...

Levélküldési problémák megoldása WordPress-ben

Levélküldési problémák megoldása WordPress-ben

A WordPress alapesetben a php mail() függvényt használja levélküldésre. A mail() függvényt azonban biztonsági okokból a legtöbb tárhelyszolgáltató letiltja. A WordPress-ben sokkal jobb alternatíva az e-mailek küldésére az SMTP, és nagyon egyszerű beállítani. Megmutatjuk hogyan kell ezt elvégezni, bővítményekkel és anélkül.

Mi az SMTP?

Az SMTP vagy Simple Mail Transfer Protocol határozza meg az e-mailek továbbításának szabályait. Lehetővé teszi az e-mailek cseréjét különböző típusú számítógépek, szerverek és hálózatok között. Az SMTP-szerver egy olyan alkalmazás, amely az SMTP protokoll szerint működik, és e-maileket küld a feladótól a címzettnek. A folyamat leegyszerűsítése érdekében az SMTP-kiszolgáló fogadja az e-maileket az e-mail klienstől (Gmail, Outlook stb.), és szükség esetén továbbítja azokat más SMTP-kiszolgálókra. Ezek után az e-maileket a címzett SMTP-kiszolgálója veszi fel, és a bejövő levelezőszerverek (POP3 vagy IMAP) segítségével kézbesíti.

Miért SMTP-t használjunk e-mailek küldésére a WordPress-ben?

Ahogy az elején említettük, a WordPress a PHP mail() függvényét használja az e-mailek küldésére, ez a módszer azonban több okból is problémás:

Leginkább egyszerű, sima szöveges e-mailekhez alkalmas. A HTML-képességek meglehetősen korlátozottak, és nem adhat hozzá mellékleteket vagy nem ágyazhat be képeket. 

A PHP mail() nem rendelkezik megfelelő e-mail fejlécekkel. Ennek eredményeként az internetszolgáltatók az ezzel a módszerrel küldött e-maileket spamként jelölik meg, vagy teljesen elutasítják azokat. Tehát, ha például egy webshopban automatikusan e-mailben küldi el a PHP mail() használatával a megrendelés visszaigazolásokat, akkor valószínűleg azok a spam mappába kerülnek.

Nem teszi lehetővé az e-mailek küldését külső szervereken keresztül. Még ha konfigurálja is az SMTP beállításokat, az csak localhost vagy hasonló megoldás esetén lesz használható. A PHP mail() nem támogatja az SMTP hitelesítést.

Nézzük meg, hogyan lehet e-maileket küldeni a WordPress-ben SMTP-szerverrel:

Beállíthatja az SMTP-t a WordPress-ben bővítmények nélkül, egy kis kódolással a PHPMailerrel. Ez egy könyvtár, amelyet a PHP számára hoztak létre, hogy kiküszöbölje a mail() függvény hiányosságait. A PHPMailer támogatja az összetett e-mail törzseket (beleértve a HTML-t és a beágyazott képeket) és a mellékleteket. Lehetővé teszi e-mailek küldését bármely SMTP-kiszolgálóval.

A PHPMailer működéséhez szükségünk van egy működő SMTP szerverre. Az alábbi kódmintában az Ön SMTP-jét használjuk e-mailek küldésére a WordPress-ben. Mielőtt azonban elkezdenénk, hozzon létre egy e-amil címet a sikeres hitelesítéshez, vagy használhatja meglévő e-mail címét is.

Most keresse meg webhelye gyökérkönyvtárát, és benne a wp-config.php fájlt. Az alábbi kódmintával konfigurálhatja a WordPress SMTP-beállításait e-mail címének hitelesítő adataival.

 

define( 'SMTP_username', 'your-email@domainnevem.hu' );

define( 'SMTP_password', 'your-mail-password' );

define( 'SMTP_server', 'mail.domainnevem.hu' );

define( 'SMTP_FROM', 'felado@domainnevem.hu' );

define( 'SMTP_NAME', 'Nev - cegnev' );

define( 'SMTP_PORT', '587' );

define( 'SMTP_SECURE', 'tls' );

define( 'SMTP_AUTH', true );

define( 'SMTP_DEBUG', 0 ); 

 

Adja hozzá a következő szkriptet is a functions.php fájlhoz.

 

add_action( 'phpmailer_init', 'my_phpmailer_smtp' );

function my_phpmailer_smtp( $phpmailer ) {

$phpmailer->isSMTP();

$phpmailer->Host = SMTP_server;

$phpmailer->SMTPAuth = SMTP_AUTH;

$phpmailer->Port = SMTP_PORT;

$phpmailer->Username = SMTP_username;

$phpmailer->Password = SMTP_password;

$phpmailer->SMTPSecure = SMTP_SECURE;

$phpmailer->From = SMTP_FROM;

$phpmailer->FromName = SMTP_NAME;

}

Mentse el a beállításokat és kész. Mostantól a WordPress az e-maileket az SMTP-kiszolgálón keresztül küldi.

 

Ha nem akar kódolással foglalkozni akkor SMTP bővítményt kell telepíteni hozzá:

Mi az SMTP Mailer nevűt javasoljuk, mivel használata nagyon egyszerű. Használatához szüksége lesz az SMTP adatokra, a kiszolgáló nevére, e-mail címére és az e-mail címhez tartozó jelszavára. 

Hozzászólás (0)

Szóljon hozzá!