当我执行操作时向所有订阅者发送电子邮件

时间:2013-10-31 作者:Antonio Papa

我创建了此函数:

function email_subscribed_users($event)
{
    $users = get_users(\'role=subscriber\');

    foreach ($users as $user) {
        $accepted = get_user_meta($user->ID, \'accepted\', true);
        if ($accepted) {
            wp_mail($recipients, $event->event_title, $event->event_desc, \'From: <[email protected]>\');
        }
    }
}
但发送电子邮件需要很多时间,因为要知道用户会随着时间的推移而增加。我应该使用什么功能来高效地发送电子邮件,或者有一个新闻稿插件来实现这一点?

1 个回复
SO网友:s1lv3r

您可以直接查询具有特定user\\u元值的用户。这将在首先加载所有用户,然后对其进行迭代并随后加载meta\\u值的情况下获得一些性能。

看看WP_User_Query

如果我们说的是大量的邮件,你最好使用一个全面的新闻稿插件(它会自动对邮件进行排队,而不是一次发送所有邮件)。如果你真的要发送很多邮件(比如一份时事通讯中的+5000),我建议你使用外部邮件服务提供商(CakeMail、Mailchimp…)。

结束

相关推荐

WP can't send newsletters

我正在使用ALO EasyMail新闻稿插件向订阅者发送新闻稿。我有设置,主要是电子邮件地址,并试图为订阅者发送电子邮件,但它不发送任何东西。wordpress有什么特殊的配置吗?谢谢