加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

WordPress限制每日邮箱发送数量

发布时间:2020-12-14 14:30:57 所属栏目:wordpress 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 wordpress 的邮箱发送基本上都是靠用户设置 smtp 发送,使用主机发信很大概率会发送到用户的垃圾箱中,目前大部分企业邮箱的免费发信额度都是有限的,

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

wordpress 的邮箱发送基本上都是靠用户设置 smtp 发送,使用主机发信很大概率会发送到用户的垃圾箱中,目前大部分企业邮箱的免费发信额度都是有限的,超过免费额度后会继续发送,直至达到发送上限,这可以不是免费的。为了避免我们的发信邮箱发送过多的邮件导致账号欠费,我们有必要对发信邮箱每日发信数量进行限制,下面给出解决方案,插件还没写,不会用代码的等我更新吧。

先说说实现原理,通过使用 WordPress 发信函数 wp_mail 上的过滤器来挂载我们的计数函数,然后将发信数量写入 option 数据表中,为了防止第二天不能发送,顺便把统计日期也写进去。然后每执行一次发送邮件函数,就会执行一次我们的计数函数,当发信数量达到我们限制的数量时,就终止发信函数,否则则正常返回。将下面的代码复制到你的 functions.php 文件中,并将其中的>3 改为你需要的上限值即可。

function send_email($from_name){

$count_email=(int)get_option('count_email');

$datetime = date('Y-m-d');

$sendemail_time=get_option('sendemail_time');

if($datetime!=$sendemail_time){

update_option('count_email',1);

update_option('sendemail_time',$datetime);

return $from_name;

}else{

if($count_email>=3){

exit( __('The e-mail could not be sent.') . "<br />n" . __('email is so big.') );

}else{

update_option('count_email',($count_email+1));

update_option('sendemail_time',$datetime);

return $from_name;

}

}

}

add_filter( 'wp_mail_from_name','send_email',10,1 );

以上代码在 WP SMTP 插件上测试通过,如有问题,下方留言。

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读