Wie kann ich Mail in WordPress aktivieren?

Lesezeit: 3 Minuten

Ich verwende Apache 2.2.25 und PHP 5.3.28 auf meinem Windows 8-Desktop. Einmal, als ich mein WordPress-Passwort wiederherstellte, bekam ich diesen Fehler:

Die E-Mail konnte nicht versendet werden. Möglicher Grund: Ihr Hoster hat möglicherweise die Funktion mail() deaktiviert.

Ich habe gegoogelt, wie ich die Funktion mail () aktivieren kann, und festgestellt, dass ich einen Mailserver mit meinem Server konfigurieren muss. Ich habe hMailServer heruntergeladen, aber es hat nicht funktioniert… Bitte helfen Sie mir, wie kann ich die Funktion mail() aktivieren? Welchen Mailserver muss ich herunterladen?

  • Was ist das genau Fehlermeldung hast du bekommen?

    – Alvaro González

    19. Juli 2014 um 13:44 Uhr

  • Ich bekomme diesen Fehler: Die E-Mail konnte nicht gesendet werden. Möglicher Grund: Ihr Hoster hat möglicherweise die Funktion mail() deaktiviert.

    Benutzer3668837

    19. Juli 2014 um 13:50 Uhr


  • Das ist eine WordPress-Nachricht, keine PHP-Nachricht. Ich habe die Informationen in die Frage bearbeitet und eine (hoffentlich nützliche) Antwort gepostet.

    – Alvaro González

    19. Juli 2014 um 14:00 Uhr

Benutzeravatar von Simon East
Simon Osten

Da ich hier gepostet:

Dies ist eine super ärgerliche Fehlermeldung, wie es sein könnte viele Dinge, und es zeigt nicht den eigentlichen Fehler (der oft in anderen Teilen des Codes zum Schweigen gebracht wird).

Dieser Fehler tritt auf, wenn die wp_mail() Funktion gibt false zurück, was wiederum passieren könnte, wenn phpmailer->Send() gibt false zurück oder löst eine Ausnahme aus.

Wie man Warnungen von PHPs anzeigt mail() Funktion

Diese werden normalerweise standardmäßig stummgeschaltet und leider erfasst WordPress sie nie. Um sie anzuzeigen, entfernen Sie einfach die @ Zeichen von @mail(... in wp-includes/class-phpmailer.php in dem mailPassthru() Funktion:

if (ini_get('safe_mode') || !($this->UseSendmailOptions)) {
    $rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header);
} else {
    $rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header, $params);
}

So finden Sie andere mögliche Ursachen:

  1. Fügen Sie unten eine einzelne Zeile hinzu wp_mail() in /wp-includes/pluggable.php:

    // Send!
    try {
        return $phpmailer->Send();
    } catch ( phpmailerException $e ) {
        //------------- This next line is the one to add -------------------
        if (WP_DEBUG) echo '<pre>' . esc_html(print_r($e, TRUE)) . '</pre>';
        return false;
    }
    
  2. Es wird die vollständigen Details darüber ausgeben, wo die Ausnahme ausgelöst wurde. Leider enthält es manchmal diese nicht hilfreiche Ausnahmemeldung: “E-Mail-Funktion konnte nicht instanziiert werden“. Ja, danke WordPress, das ist wirklich hilfreich.

  3. Wenn Sie sich die Ausnahme ansehen, können Sie die Zeilennummer des Fehlers finden und ihn hoffentlich durch den Code zurückverfolgen, um die wahre Ursache zu finden.

Viel Glück. Hoffentlich verbessert WordPress irgendwann in der Zukunft die E-Mail-Fehlerbehandlung.

  • Wo können wir Host-SMTP-Details für das standardmäßige E-Mail-Sendekonto in WordPress bereitstellen?

    – immajankmodi

    20. März 2015 um 16:30 Uhr

Ich bin auf dasselbe Problem gestoßen und nichts, was ich in den Vorschlägen für WordPress finden konnte, hat es für mich gelöst.

Dann fing ich an zu untersuchen, ob es die PHP-Installation selbst war, die die Mail-Funktion deaktiviert hatte, aber auch das funktionierte nicht. Alles sah so aus, als wäre es richtig konfiguriert.

All diese Probleme begannen für mich, als ich meinen Server auf CentOS 7 aktualisierte, das SELinux (Security Enhanced Linux) verwendet, und was ich in den letzten Wochen mit SELinux gelernt habe, ist, dass, wenn etwas nicht funktioniert, alles so aussieht es sollte funktionieren … das bedeutet, dass SELinux Sie still und heimlich im Hintergrund blockiert.

Und Bratsche.

Wenn Sie ein Betriebssystem ausführen, das SELinux verwendet, führen Sie einfach den folgenden Befehl als Root aus:

setsebool -P httpd_can_sendmail=1

Es gibt eine Sicherheitseinstellung, die den Webserver automatisch daran hindert, E-Mails zu senden. Wenn Sie diesen Schalter umlegen und SELinux mitteilen, dass der Webserver E-Mails senden kann, funktioniert plötzlich alles.

Es hieß -Registrierte E-Mail-IDs zum Versenden von E-Mails über Skripte verwalten (WordPress)

  1. Melden Sie sich bei Ihrem Cpanel an.
  2. Gehen Sie zum E-Mail-Bereich > und klicken Sie dann auf Registrierte E-Mail-IDs.
  3. dann fügen Sie hinzu ([email protected]) oder wo Ihre WordPress gehostet wird. dh ([email protected]) . Senden Sie dann, es dauert einige Minuten, um zu aktivieren. Warten Sie 15 Minuten bis 1 Stunde, abhängig von Ihrem Hosting-Provider, dann wird es funktionieren.

1393420cookie-checkWie kann ich Mail in WordPress aktivieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy