In der folgenden Kolumne des WordPress-Tutorials erfahren Sie, wie Sie das Problem „Ihr Gastgeber hat die Mail-Funktion deaktiviert“ beim Versenden von E-Mails in WordPress lösen können. Ich hoffe, dass es für Freunde in Not hilfreich ist!
Spezifische Problemsituation
Kürzlich habe ich bei der Suche nach Themenfehlern ein sehr interessantes Phänomen entdeckt, bei dem es sich um ein Problem mit den SMTP-Postfacheinstellungen handelt, aber es gibt keinen Bewertungstipp Beim Abrufen per E-Mail tritt der folgende Fehler auf:
E-Mail konnte nicht gesendet werden.
Möglicher Grund: Ihr Host hat die Funktion mail() deaktiviert.
Erkennen Sie, ob die Mail-Funktion deaktiviert ist
Verwenden Sie einen PHP-Probe, um zu erkennen, ob der Host-Provider die Mail-Funktion deaktiviert hat.
Der PHP-Probecode lautet wie folgt. Speichern Sie ihn als PHP-Datei und laden Sie ihn auf den Server hoch, um ihn zum Testen zu öffnen:
<!--?php if (function_exists('mail')) { echo "支持mail()函数!"; } else echo "不支持mail()函数!"; ?-->
Lösung
Ich dachte ursprünglich, dass der Hengtian-Host die Funktion mail() deaktiviert hat. Funktion, aber ich habe das durch die PHP-Sonde gefunden und nicht deaktiviert.
Das Folgende ist eine Lösung für das Problem, bei dem die Mail-Funktion trotz Deaktivierung und Unterstützung der Mail-Funktion deaktiviert ist. Dies ist eine persönliche Erfahrung. Lassen Sie hier niemanden stolpern.
Lösung für die Deaktivierung der E-Mail-Funktion durch den Host
Wenn mithilfe der oben genannten PHP-Prüfung festgestellt wird, dass der Host die E-Mail-Funktion deaktiviert hat, verwenden Sie direkt SMTP zum Senden von E-Mails anstelle der ursprünglichen E-Mail-Funktion
Senden Sie die SMTP-Postfacheinstellung Code, der hier verwendet wird (Beispiel für Blog-Postfacheinstellungen), fügen Sie ihn einfach in die Datei „functions.php“ ein.
function mail_smtp( $phpmailer ){ $phpmailer->From = “lijie@php2.cc”; //发件人 $phpmailer->FromName = “PHP二次开发”; //发件人昵称 $phpmailer->Host = “smtp.ym.163.com”; //SMTP服务器地址 $phpmailer->Port = 25; //SMTP端口,常用的有25、465、587,具体谷歌百度 $phpmailer->SMTPSecure = “”; //SMTP加密方式,常用的有SSL/TLS,具体谷歌百度 $phpmailer->Username = “lijie@php2.cc”; //邮箱帐号 $phpmailer->Password = *; //邮箱密码(缙哥哥就用星号代替了) $phpmailer->IsSMTP(); //使用SMTP发送 $phpmailer->SMTPAuth = true; //启用SMTPAuth服务 } add_action(‘phpmailer_init’,’mail_smtp’);
Der Host unterstützt die Mail-Funktionslösung
Ob der Test die Mail-Funktion unterstützt, schauen Sie unten:
Da ich vorher nur die E-Mail des Testadministrators hatte, habe ich dann versucht, einen neuen Benutzer zu registrieren und die E-Mail zum Abrufen zu verwenden Passwort. Es stellte sich heraus, dass die E-Mail normal war.
Als nächstes habe ich mein SMTP-E-Mail-Konto auf 163 geändert und die Administrator-E-Mail verwendet, um das Passwort abzurufen. Das Ergebnis wurde normal und ohne Überraschung empfangen.
Schließlich stellt sich heraus, dass die E-Mail-Adresse des Empfängers und die E-Mail-Adresse des Absenders nicht identisch sein können. Dieses Ergebnis überraschte mich tatsächlich in einem so kleinen Link. Ich dachte, es sei ein Theme-Problem und habe den Code mehrmals geändert, aber es hat auch einen großen Fehler behoben. Werfen, warum sollte man sich die Mühe machen, sich zu werfen, wenn man jung ist?
Aber seit ich mein 163-Postfach geändert habe, habe ich viele Bewertungen, Kommentarantworten und Registrierungs-E-Mail-Erinnerungen erhalten. Ist es lästig, einfach ein separates Administrator-Postfach zu erstellen? Dadurch kann die Anzahl der empfangenen E-Mails effektiv reduziert werden, und jetzt sind meine Ohren ruhig.
Das obige ist der detaillierte Inhalt vonLösen Sie das Problem „Ihr Host hat die Mail-Funktion deaktiviert' beim Senden von E-Mails in WordPress. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!