📜  为媒体 wordpress 启用垃圾 - PHP (1)

📅  最后修改于: 2023-12-03 14:48:57.710000             🧑  作者: Mango

为媒体 WordPress 启用垃圾 - PHP

WordPress是目前互联网上最流行的网站搭建工具之一,但是随着网站的流量增加,垃圾邮件也会随之增加。在 WordPress 界面提供的垃圾邮件筛选方案往往效果不甚理想,需要通过编写 PHP 代码来实现更加高效的垃圾邮件筛选。

WPForms 开源的垃圾邮件控制方案

WPForms是一个WordPress的表单插件,通过该插件,可以非常方便地为WordPress站点创建表单,并且支持完全自定义表单布局和样式。

WPForms开源了一个垃圾邮件控制方案,可以用于WordPress站点的垃圾邮件过滤。该方案基于Google的reCAPTCHA V3技术,即无需人工验证即可检测和过滤垃圾邮件。

function wpforms_recaptcha_v3( $form_data ) {
    $actions = array(
        'wpforms_submit', // Change `wpforms_submit` to the action of your form.
    );

    // Only add the script to pages with a form requiring reCAPTCHA.
    if ( isset( $form_data['settings']['recaptcha_enabled'] ) && $form_data['settings']['recaptcha_enabled'] && in_array( $form_data['settings']['recaptcha_version'], array( 'v3', 'v3_hidden' ) ) ) {
        wp_enqueue_script(
            'wpforms-google-recaptcha-v3',
            'https://www.google.com/recaptcha/api.js?render=' . $form_data['settings']['recaptcha_site_key'],
            array(),
            WPFORMS_PLUGIN_VERSION,
            true
        );
        wp_add_inline_script(
            'wpforms-google-recaptcha-v3',
            'function wpforms_submit_' . $form_data['ID'] . '(){
            grecaptcha.ready(function() {
                grecaptcha.execute("' . $form_data['settings']['recaptcha_site_key'] . '", {action: "' . implode( ',', $actions ) . '"})
                    .then(function(token) {
                        var $form = jQuery("#wpforms-submit-' . $form_data['ID'] . '"),
                        $el = jQuery("<input>").attr("type", "hidden").attr("name", "wpforms[google-v3-token]").val(token);
                        $form.append( $el );
                        $form.submit();
                    });
                });
            }',
            'after'
        );
    }
}
add_action( 'wp_enqueue_scripts', 'wpforms_recaptcha_v3' );
阿里云清洁邮件服务

阿里云提供了一种名为清洁邮件服务的服务,可以帮助用户将垃圾邮件自动转移到垃圾邮件目录中。用户只需在 WordPress 的 settings/reading/settings 配置中输入 IMAP 信息(如以下示例),即可轻松使用该服务。

$imap_server = '{imap.aliyun.com:993/ssl}INBOX';
$username = 'example@aliyun.com';
$password = 'email-password';

// 创建 IMAP 连接并检查是否创建成功
$imap_connect = imap_open($imap_server, $username, $password);

// 如果成功连接 IMAP,则将 ALL 垃圾邮件从收件箱移到垃圾邮件目录中
if ($imap_connect) {
    // 获取 INBOX 中的邮件
    $emails = imap_search($imap_connect, 'ALL');

    // 遍历找到的邮件
    if ($emails) {
        foreach ($emails as $id) {
            imap_mail_move($imap_connect, $id, 'INBOX.Trash') or die('Error moving msg: ' . imap_last_error());
        }
    }

    // 关闭 IMAP 连接
    imap_expunge($imap_connect);
    imap_close($imap_connect);
}
总结

WordPress作为一个流行的网站搭建工具,需要对垃圾邮件进行筛选和过滤。使用WPForms提供的垃圾邮件控制方案和阿里云的清洁邮件服务可以非常方便地完成这一任务。通过编写 PHP 代码,WordPress网站的垃圾邮件可以得到更好的过滤和管理。