我使用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