基本上,我在数据库中有一个带有名称和电子邮件地址字段的表。我如何从数据库中获取此信息并将每个电子邮件地址插入到 $ mail-> AddAddress('xxxxx');
编辑:我有phpmailer正常工作,但我什至不知道从表中获取地址并将其用作接收者的起点。这是我使用mysqli的第一个项目。任何将我指向正确方向的帮助将不胜感激。
答案 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
}