Wordpress教程 2023年03月29日
0 收藏 0 点赞 794 浏览 725 个字

因阿里云虚拟主机禁用了mail()函数,导致WordPress系统无法使用默认mail()函数发送邮件,即便改用SMTP插件也无法成功发送(因为阿里云虚拟主机提供的是fsockopen,而SMTP所使用的是steam_connect_client),因此想要实现SMTP成功发送邮件,就要修改wordpress程序源文件class-smtp.php,把wordpres的SMTP发送方式改为fsockopen方式。

1、登录阿里云主机管理控制台,进入:站点信息-高级环境设置-php.ini设置,PHP函数fsockopen设置:启用

2、修改wordpress系统文件,打开\wp-includes\PHPMailer\SMTP.php,在386-394 行位置,查找以下代码:

$socket_context = stream_context_create($options);
set_error_handler([$this, 'errorHandler']);
$connection = stream_socket_client(
$host . ':' . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context

替换为以下代码:

$this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout);

然后使用Easy WP SMTP或 WP MAIL SMTP 这类 SMTP 发送邮件的插件,配置好一般就可以了。

特别注意:由于这个方法是直接修改了 WordPress 的核心代码,一旦升级了 WordPress 版本,就需要重新进行修改,切记!!!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.mizhanw.com/blog/1913.html

相关推荐
实现 WordPress 自动更新所有文章的发布日期为当天的日期
//二开自动更新文章日期为当天发布。 //设置宝塔面板中的定时任务,通过访问带有?update_posts=run的链接触发文章更新.如:c…
日期:2024-09-22 点赞:0 阅读:32
WooCommerce订单列表显示购买产品
// 为 Legacy CPT-based 订单添加自定义列 add_filter('manage_edit-shop_order_colu…
日期:2024-09-20 点赞:0 阅读:62
WooCommerce Order 类的所有Get方法,以面向对象的方法获取订单数据
在开发WooCommerce插件或者与第三方系统交互时,我们需要获取 WooCommerce 订单的数据,WooCommerce的 WC_O…
日期:2024-09-20 点赞:0 阅读:39
为WooCommerce后台订单列表添加按自定义字段功能
  // 添加自定义列到订单列表 add_filter('manage_woocommerce_page_wc-orders_co…
日期:2024-09-20 点赞:0 阅读:38
添加删除 WooCommerce 数据列表中的数据列
转载:添加删除 WooCommerce 数据列表中的数据列 _WordPress智库 (wpzhiku.com) 在 WooCommerce…
日期:2024-09-20 点赞:0 阅读:48
WooCommerce的结账页面的订单摘要中,在商品数量后添加加减按钮
关于 WooCommerce 结账页面的定制内容在网上有大量讨论。为什么呢?因为结账页面无疑是任何 WooCommerce 网站的关键页面!…
日期:2024-08-11 点赞:0 阅读:110
发表评论
暂无评论

还没有评论呢,快来抢沙发~