如何从mysql数据库中获取phpmailer的收件人?

时间:2018-08-20 18:38:48

标签: php html mysql mysqli phpmailer

基本上,我在数据库中有一个带有名称和电子邮件地址字段的表。我如何从数据库中获取此信息并将每个电子邮件地址插入到 $ mail-> AddAddress('xxxxx');

编辑:我有phpmailer正常工作,但我什至不知道从表中获取地址并将其用作接收者的起点。这是我使用mysqli的第一个项目。任何将我指向正确方向的帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

方法是从数据库检索数据并在每个循环中发送新的电子邮件。请注意,某些托管服务商要求在两封电子邮件之间间隔几毫秒的时间。

这里是一个例子:

    <?php
$pdo = new PDO('mysql:host=localhost;dbname=mydb', 'root', '');
$sql = "SELECT email FROM users";

    foreach ($pdo->query($sql) as $row) {
        $mail = new PHPMailer\PHPMailer\PHPMailer();
        $mail->IsSMTP(); // enable SMTP
        $mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only, 0 = nothing
        $mail->CharSet = "UTF-8";
        $mail->SMTPAuth = true; // authentication enabled
        $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
        $mail->Host = 'your_email_host';
        $mail->Port = 465; // or 587
        $mail->IsHTML(true);
        $mail->Username = 'your_emailaccount_username';
        $mail->Password = 'your_emailaccount_password';
        $mail->SetFrom('from@example.com', 'from_name');
        $mail->Subject = 'Your Email Subject';
        $mail->Body = $body_combined;
        $mail->AddAddress($row['email']); // dynamic email from DB with every loop
    }