Heim > Artikel > Backend-Entwicklung > WordPress kann keine E-Mails versenden, nachdem der Speicherplatz geändert wurde?
Problembeschreibung
Aus geschäftlichen Gründen hat das Unternehmen des Subjekts die Website des Unternehmens (entwickelt auf Basis von WordPress) vom Server in Hongkong auf den inländischen Server migriert.
Die Serverumgebung wurde vom Subjekt selbst erstellt, die mit der identisch ist Server in Hongkong. Nach der Migration stellte ich fest, dass der Benutzer keine E-Mails empfangen konnte. Obwohl die Aufforderung erfolgreich war, konnte ich die E-Mails immer noch nicht empfangen.
Code
<code> <?php </code>
$to = 'xxxx@qq .com';
$subject = 'Der Betreff';
$body = 'Der E-Mail-Textinhalt';
//wp_mail, Funktion zum Versenden von E-Mails, gibt einen booleschen Wert zurück
$mail = wp_mail( $to, $subject, $body);
if (!$mail)
<code>{ global $ts_mail_errors; global $phpmailer; if (!isset($ts_mail_errors)) $ts_mail_errors = array(); if (isset($phpmailer)) { $ts_mail_errors[] = $phpmailer->ErrorInfo; print_r($ts_mail_errors); } } else echo 'email was sent!'; </code>
?>
Dieser Code gibt sowohl auf dem Hongkong-Server als auch auf dem Inlandsserver „E-Mail wurde gesendet!“ aus. Beim Überprüfen des Postfachs habe ich jedoch nur E-Mails erhalten, die vom Hongkong-Server gesendet wurden.
Bitte Gott um Führung!
Problembeschreibung
Aus geschäftlichen Gründen hat das Unternehmen des Subjekts die Website des Unternehmens (entwickelt auf Basis von WordPress) vom Server in Hongkong auf den inländischen Server migriert.
Die Serverumgebung wurde vom Subjekt selbst erstellt, was mit der identisch ist Server in Hongkong. Nach der Migration stellte ich fest, dass der Benutzer keine E-Mails empfangen konnte. Obwohl die Aufforderung erfolgreich war, konnte ich die E-Mails immer noch nicht empfangen.
Code
<code> <?php </code>
$to = 'xxxx@qq .com';
$subject = 'Der Betreff';
$body = 'Der E-Mail-Textinhalt';
//wp_mail, Funktion zum Versenden von E-Mails, gibt einen booleschen Wert zurück
$mail = wp_mail( $to, $subject, $body);
if (!$mail)
<code>{ global $ts_mail_errors; global $phpmailer; if (!isset($ts_mail_errors)) $ts_mail_errors = array(); if (isset($phpmailer)) { $ts_mail_errors[] = $phpmailer->ErrorInfo; print_r($ts_mail_errors); } } else echo 'email was sent!'; </code>
?>
Dieser Code gibt sowohl auf dem Hongkong-Server als auch auf dem Inlandsserver „E-Mail wurde gesendet!“ aus. Als ich jedoch das Postfach überprüfte, erhielt ich nur E-Mails, die vom Hongkong-Server gesendet wurden.
Bitte Gott um Führung!
//E-Mail über SMTP senden
function mail_smtp( $phpmailer ){
$phpmailer->From = "xxx@example .com"; //Sender
$phpmailer-> "xxx"; //Spitzname des Absenders
$phpmailer->Host = "smtp.exmail.qq.com"; //SMTP-Serveradresse
$phpmailer->Port = 465; 🎜>$phpmailer->SMTPSecure = "ssl"; //SMTP-Verschlüsselungsmethode, häufig verwendete Methode ist SSL/TLS, im Allgemeinen bleibt Port 25 leer, Port 465 Tage SSL
$phpmailer->Username = "xxx @example .com"; //E-Mail-Konto, normalerweise dasselbe wie der Absender
$phpmailer->Password = 'xxx'; //E-Mail-Passwort
$phpmailer->IsSMTP(); / /Senden mit SMTP
$phpmailer->SMTPAuth = true; //SMTPAuth-Dienst aktivieren
}
add_action('phpmailer_init','mail_smtp');
Das darf nichts mit dem Speicherplatz zu tun haben. Sie müssen zuerst prüfen, ob der Mailserver normal ist