我使用PHP邮件引发邮件。 它的工作正常。但我给了2到5个收件人,它只将邮件发送给一个收件人。今后,我要触发邮件到近100个收件人.. 我分享我下面的代码..请检查一下..PHP梅勒多个收件人
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'karthick****@gmail.com'; // SMTP username
$mail->Password = '********'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->setFrom('karth*******@gmail.com', 'A**n');
$addresses = explode(',',$emailM);
foreach ($addresses as $address) {
$mail->AddAddress($address);
}
$mail->isHTML(true);
$mail->Subject = 'Need for '.$keyword.'';
$mail->Body = 'Hi,The Message';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Qoute has been sent to all the Manufacturers';
echo "$address";
}
是电子邮件地址,在'$地址'有效?您应该至少在每个foreach循环中添加调试消息。 – Raptor
你确定它只发送给一个?你在最后回显'$ address',它只会包含你添加的最后一个地址,但是这个消息仍然会被发送到所有的地址(尽管你应该检查addAddress()的返回值是确定它正在工作)。 – Synchro
我不认为你会以正确的方式去解决这个问题 - 最后给出“所有制造商”的文字,我很怀疑你是否真的想把它们全部添加到同一条消息中(他们将在哪里看到对方的地址)。你应该发送一个单独的消息给每一个。请参阅[PHPMailer提供的邮件列表示例](https://github.com/PHPMailer/PHPMailer/blob/master/examples/mailing_list.phps)了解如何有效地完成此操作。 – Synchro