Php 通过联系人表单向所有用户发送电子邮件

Php 通过联系人表单向所有用户发送电子邮件,php,wordpress,forms,phpmailer,Php,Wordpress,Forms,Phpmailer,我正试图把我所有的用户聚集在一起,通过联系方式向他们发送电子邮件。我正在使用Wordpress来容纳我所有的用户 我有一个脚本,可以循环遍历所有用户,但需要能够同时发送所有用户: <?php $wp_user_search = $wpdb->get_results("SELECT ID, user_email FROM $wpdb->users ORDER BY ID"); foreach ( $wp_user_search as $userid ) { $user_

我正试图把我所有的用户聚集在一起,通过联系方式向他们发送电子邮件。我正在使用Wordpress来容纳我所有的用户

我有一个脚本,可以循环遍历所有用户,但需要能够同时发送所有用户:

<?php
$wp_user_search = $wpdb->get_results("SELECT ID, user_email FROM $wpdb->users ORDER BY ID");

foreach ( $wp_user_search as $userid ) {
    $user_id       = (int) $userid->ID;
    $user_login    = stripslashes($userid->user_login);
    $email  = stripslashes($userid->user_email);

    $return  = '';
    $return .= "\t" . '<p>'. $email .'</p>' . "\n";

    print($return);
}
?>



        <form action="../mailadmin.php" method="post">
            <input type="hidden" name="email" value="<?php echo $email; ?>">
            <input type="text" name="subject" value="" placeholder="Subject..." style="padding: 10px; border: 1px solid #EEEEEE; width:100%;"> 
            <br><br>
            <textarea onkeyup="textAreaAdjust(this)" name="contentfield" style="max-width: 100%; min-width: 100%; min-height: 200px; padding: 10px; border: 1px solid #EEEEEE;  height:auto; overflow:visible;" placeholder="Please begin typing your message..."></textarea>
            <br><br>
            <button class="amendbutton" type="submit" style="padding: 10px;">Send Message</button>
        </form>
    </div>    
</div>

您不必在HTML中添加电子邮件字段,只需在代码中添加密件抄送字段即可发送电子邮件:

$mail = new PHPMailer();

$wp_user_search = $wpdb->get_results("SELECT * FROM $wpdb->users ORDER BY ID");

foreach ( $wp_user_search as $user )
   $mail->AddBCC($user->user_email, $user->user_name); // first var is email, second is name

$mail->Subject = 'Subject header';
$mail->Body    = 'Subject: ' . $_POST["subject"] . 'Message: ' . $_POST["contentfield"];

要查看PHPMailer的所有方法。

那么您只需要在循环中添加邮件(…),并学习如何在php中创建POST表单?在html中使用ID是一个好的开始。什么是$mail?PHPMailer?我在哪里添加添加邮件()对不起,我工作了一整天,眼睛开始疼了@djidi这是正确的yesSo将发送到存储在wordpress后端中的所有用户?当您发送电子邮件时,您必须使用您的代码获取所有用户,而不是在HTML中发送电子邮件,并添加BCCI。我不清楚这需要去哪里,以及我需要对我的php mailer脚本执行什么操作,以确保他们都在说话,请您使用我的代码并对其进行编辑,好吗?那么,一旦填写了联系人表单,它是否会向wordpress用户数据库中的所有用户发送一条消息?是的。这是$mail->AddBCC()的目标,添加多个收件人(在盲拷贝中)
$mail = new PHPMailer();

$wp_user_search = $wpdb->get_results("SELECT * FROM $wpdb->users ORDER BY ID");

foreach ( $wp_user_search as $user )
   $mail->AddBCC($user->user_email, $user->user_name); // first var is email, second is name

$mail->Subject = 'Subject header';
$mail->Body    = 'Subject: ' . $_POST["subject"] . 'Message: ' . $_POST["contentfield"];