Kuidas saata WordPressi e-kirju SMTP-serveri abil
Kas teil on probleeme WordPressi meilide saatmisega? Kapoti all saadab WordPress e-kirju, kasutades funktsiooni PHP mail(). Mõnikord ei konfigureeri teie veebimajutus meiliseadeid õigesti. Seetõttu ei saa teie WordPressi veebisaidilt e-kirju saata.
Selle probleemi saate lahendada SMTP-serveri abil. Tavaliselt pakuvad veebimajutusettevõtted oma SMTP-serverit, mida saate kasutada oma veebisaidi meilide saatmiseks.
Teise võimalusena võite kasutada teisi SMTP-servereid, nagu Gmail, Mailjet jne. Kõik see nõuab SMTP-serveri, näiteks host, port jne, põhiteavet.
Nagu öeldud, vaatame, kuidas kasutada SMTP-serverit WordPressi meilide saatmiseks.
PHPMailer WordPressis
WordPress sisaldab oma keskmes klassi PHPMailer. Kui soovite seda kontrollida, leiate selle faili alt wp-includes/PHPMailer/PHPMailer.php
.
Kui konfigureerime PHPMaileri WordPressis, wp_mail
saadab funktsioon e-kirju selle PHPMaileri klassi kaudu. Sel juhul wp_mail
ei sõltu meetod hostimise seadetest. Selle asemel kasutavad nad teie SMTP-serveri seadeid.
Ma kasutan seda PHPMaileri klassi meilide jaoks. Kuna see klass on juba WordPressi lisatud, ei pea me PHPMaileri teeki eraldi installima.
Võib kasutada WP Maili SMTP- pistikprogrammi, mis saadab e-kirju ka SMTP-serverite abil. Aga ma soovitan alati, kui midagi on saavutatav väikese koodijupi kirjutamisega, siis minge sinna. Hea tava on kasutada vähem pistikprogramme kui võimalik. Rohkemate pistikprogrammide kasutamine veebisaidil suurendab serveri lisakoormust. Ja mõnikord on pistikprogrammid omavahel vastuolus, mis võib lõppeda purustatud saidiga.
Saada WordPressi meil SMTP-serveri kaudu
Enne jätkamist peaksite olema valmis oma SMTP üksikasjadega, nagu host, port, kasutajanimi ja parool.
Kui plaanisite kasutada Gmaili SMTP-serverit, peate oma Google’i kontol muutma mõnda seadet. Selleks logige sisse oma Google’i kontole ja klõpsake nuppu Konto. Kui olete lehel Konto, klõpsake nuppu Turvalisus. Kerige allapoole ja leiate seaded „Vähem turvalise rakenduse juurdepääs". Lülitage see olekusse SEES.
PHPMaileri konfigureerimiseks WordPressis on saadaval konks, mis on phpmailer_init. phpmailer_init
Konksu kasutades pääseme juurde PHPMaileri objektile ja määrame sellele argumendid.
Avage oma aktiivse teema functions.php
fail ja asetage allolev kood faili lõppu.
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
}
Asendage kohatäited tegelike väärtustega. Oletame, et kasutame Gmaili SMTP-serverit, kirjutatakse meie kood järgmiselt:
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';
}
Ülaltoodud koodis peate edastama oma Gmaili konto tegeliku kasutajanime ja parooli. Proovige nüüd oma WordPressi veebisaidilt e-kirju saata, e-post peaks tööle hakkama.
E-posti probleemi silumine
Praegu ei tööta teie e-kirjad isegi pärast PHPMaileri kasutamist teie wp_mail_failed
toimingu abil, et saada probleemi põhjus. Kasutage probleemi silumiseks allolevat koodi.
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);
}
Loodetavasti saate aru, kuidas saata WordPressi e-kirju SMTP-serveri abil. Palun jagage oma mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.