...
✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Kuinka lähettää WordPress-sähköpostia SMTP-palvelimen avulla

19

Onko sinulla ongelmia sähköpostin lähettämisessä WordPressissä? Konepellin alla WordPress lähettää sähköpostia PHP: n sähköposti() -toiminnolla. Joskus web-isäntäsi ei määritä postiasetuksia oikein. Seurauksena ei ole sähköpostien lähettäminen WordPress-verkkosivustoltasi.

Voit ratkaista tämän ongelman käyttämällä SMTP-palvelinta. Yleensä web-hosting-yritykset tarjoavat oman SMTP-palvelimen, jota voit käyttää verkkosivustosi sähköpostien lähettämiseen.

Vaihtoehtoisesti voit käyttää muita SMTP-palvelimia, kuten Gmail, Mailjet jne. Kaikki tämä vaatii perustiedot SMTP-palvelimesta, kuten isäntä, portti jne.

Tästä huolimatta katsotaanpa, kuinka käyttää SMTP-palvelinta WordPress-sähköpostien lähettämiseen.

PHPMailer WordPressissä

WordPress sisältää ytimessään PHPMailer-luokan. Jos haluat tarkistaa sen, löydät tämän tiedoston kohdasta wp-includes/PHPMailer/PHPMailer.php.

Jos määritämme PHPMailerin WordPressissä, wp_mailfunction lähettää sähköpostia tämän PHPMailer-luokan kautta. Tällöin wp_mailmenetelmä ei riipu isäntäasetuksista. Sen sijaan he käyttävät SMTP-palvelinasetuksiasi.

Aion käyttää tätä PHPMailer-luokkaa sähköposteihin. Koska tämä luokka sisältyy jo WordPressiin, meidän ei tarvitse asentaa PHPMailer-kirjastoa erikseen.

Voidaan käyttää WP Mail SMTP -laajennusta, joka lähettää sähköpostia myös SMTP-palvelimilla. Mutta suosittelen aina, jos jotain on saavutettavissa kirjoittamalla pieni pala koodia, mene sitten siihen. On hyvä käytäntö käyttää vähemmän laajennuksia kuin mahdollista. Useamman laajennuksen käyttäminen verkkosivustolla lisää palvelimen ylimääräistä kuormitusta. Ja joskus laajennukset ovat ristiriidassa keskenään, mikä voi päätyä rikkoutuneeseen sivustoon.

Lähetä WordPress-sähköposti SMTP-palvelimen kautta

Ennen kuin jatkat, sinun on oltava valmiina SMTP-tietojesi kanssa, kuten isäntä, portti, käyttäjänimi ja salasana.

Jos aiot käyttää Gmailin SMTP-palvelinta, sinun on muutettava joitain Google-tilisi asetuksia. Tätä varten kirjaudu sisään Google-tiliisi ja napsauta Tili. Kun olet Tili-sivulla, napsauta Suojaus. Vieritä alaspäin ja löydät ‘Vähemmän turvallisen sovelluksen käyttö’ -asetukset. Aseta se asentoon ON.

Kuinka lähettää WordPress-sähköpostia SMTP-palvelimen avulla

PHPMailerin määrittämiseksi WordPressissä on käytettävissä koukku, joka on phpmailer_init. Käyttämällä phpmailer_initkoukku, voimme käyttää phpmailer objekti ja aseta argumentteja sen.

Avaa aktiivisen teeman functions.phptiedosto ja aseta alla oleva koodi tiedoston loppuun.

add_action( 'phpmailer_init', 'set_phpmailer_details' );
function set_phpmailer_details( $phpmailer) {
    $phpmailer->isSMTP();     
    $phpmailer->Host = 'YOUR_SMTP HOST';
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 'SMTP_PORT'; //25 or 465
    $phpmailer->Username = 'SMTP_USERNAME';
    $phpmailer->Password = 'SMTP_PASSWORD';
    $phpmailer->SMTPSecure = 'ssl'; //ssl or tls
}

Muista korvata paikkamerkit todellisilla arvoilla. Oletetaan, että käytämme Gmailin SMTP-palvelinta, koodimme kirjoitetaan seuraavasti:

add_action( 'phpmailer_init', 'set_phpmailer_details' );
function set_phpmailer_details( $phpmailer) {
    $phpmailer->isSMTP();     
    $phpmailer->Host = 'smtp.googlemail.com'; //gmail smtp host
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 465;
    $phpmailer->Username = 'GMAIL_USERNAME';
    $phpmailer->Password = 'GMAIL_PASSWORD';
    $phpmailer->SMTPSecure = 'ssl';
}

Sinun on annettava Gmail-tilisi todellinen käyttäjänimi ja salasana yllä olevassa koodissa. Yritä nyt lähettää sähköpostia WordPress-verkkosivustoltasi, sähköpostin pitäisi alkaa toimia.

Silitä sähköpostiongelma

Tällä hetkellä, vaikka olisit käyttänyt PHPMaileria, sähköpostisi eivät toimi, niin wp_mail_failedtoiminnon avulla saat ongelman syyn. Käytä alla olevaa koodia virheen selvittämiseen.

add_action('wp_mail_failed', 'log_mailer_errors', 10, 1);
function log_mailer_errors( $wp_error ){
    $fn = ABSPATH. '/mail.log'; // say you've got a mail.log file in your server root
    $fp = fopen($fn, 'a');
    fputs($fp, "Mailer Error: ". $wp_error->get_error_message() ."n");
    fclose($fp);
}

Toivon, että ymmärrät kuinka lähettää WordPress-sähköpostiviestejä SMTP-palvelimen avulla. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.

Aiheeseen liittyvät artikkelit

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja