PHPMailer를 작성하여 전자 메일을 보내려고합니다. 나는 mysqli_fetch_array와 while 루프를 사용하여 MySQL로부터 전자 메일 레코드를 추출하고 '$ to'라는 변수에 'email'데이터베이스 필드를 지정하고 PHPMailer $ mailer-> AddAddress ("[email protected]")로 전달했습니다. 요구.
스크립트는 작동하지만 데이터베이스에서 발견 된 첫 번째받는 사람에게만 전자 메일을 보냅니다. 내가 속이고있는 모든 단서? 고마워!
$from = '[email protected]';
$from_name = 'My Name';
$subject = $_POST['subject'];
$text = $_POST['elvismail'];
$dbc = mysqli_connect('localhost', 'username', 'the_password', 'database_name')
or die('Error connecting to mysql');
$query = "SELECT * FROM email_list";
$result = mysqli_query($dbc, $query)
or die('Error querying database.');
while ($row = mysqli_fetch_array($result)){
$to = $row['email'];
$first_name = $row['first_name'];
$last_name = $row['last_name'];
$msg = "Dear $first_name $last_name,\n$text";
}
require("PHPMailer_v5.1 2/class.phpmailer.php");
$mailer = new PHPMailer();
$mailer->IsSMTP();
$mailer->Host = 'ssl://smtp.gmail.com:465';
$mailer->SMTPAuth = TRUE;
$mailer->Username = '[email protected]'; // Sender's gmail address
$mailer->Password = 'the_password'; // Sender's gmail password
$mailer->From = "$from"; // Sender's email address
$mailer->FromName = "$from_name"; // senders name
$mailer->Body = "$msg";
$mailer->Subject = "$subject";
$mailer->AddAddress("$to"); // Recipient
if(!$mailer->Send())
{
echo 'Email sent to:' . $to . '<br/ >';
echo "Mailer Error: " . $mailer->ErrorInfo;
}
else
{
echo 'Email sent to:' . $to . '<br/ >';
}
mysqli_close($dbc);
이 이곳에 답하고있다
는
$mailer->Send()
를 호출하는 것을 잊지 마십시오. http://stackoverflow.com/questions/1770765/phpmailer-addaddress –