首页 > 解决方案 > PHP 邮件程序不适用于 wordpress 5.5

问题描述

我在 wordpress 5.4 上有一个网站,最近它更新到 5.5 版,现在我无法使用 PHPMailer 发送电子邮件。我得到的错误是“您的网站出现严重错误”。以下代码适用于以前的 wordpress 版本。

include_once( ABSPATH . WPINC . '/class-phpmailer.php' );
include_once( ABSPATH . WPINC . '/includes/PHPMailer/PHPMailerAutoload.php' );

$mailserver_url   = "[mailserver_url]";
$mailserver_login =  "[mailserver_login]";
$mailserver_pass  =  '[mailserver_pass]';
$mailserver_port  =  '[mailserver_port]';
$email = '[email]';

$mail             = new PHPMailer;
$mail->ClearAttachments();
$mail->isSMTP();
$mail->SMTPAuth    = true;
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer'       => false,
        'verify_peer_name'  => false,
        'allow_self_signed' => false
    )
);
$mail->Host        = $mailserver_url;
$mail->Port        = $mailserver_port;
$mail->Username    = $mailserver_login;
$mail->Password    = $mailserver_pass;
$mail->setFrom( $email );
$mail->addReplyTo( $mailserver_login );
$mail->addAddress( $email );
$mail->Subject = 'The Subject';
$mail->isHTML();
$mail->Body = '<p>Helloo</p>';
if ( $mail->Send() ) {
   echo 'sent';
}

我查看了下面的文章,但我无法修复它https://wordpress.org/support/topic/fatal-error-after-updating-to-wp-5-5/

标签: wordpressphpmailer

解决方案


随着 WordPress 升级到 5.5 版,可能需要包含 PHPMailer SMPT.php 文件。

include_once (ABSPATH . WPINC . '/class-phpmailer.php');
include_once (ABSPATH . WPINC . '/PHPMailer/SMTP.php');
$mail = new PHPMailer ();

推荐阅读