2014-11-13 3 views
0

간단한 응용 프로그램을 만들어 데이터베이스의 전자 메일 주소로 전자 메일을 보내려고합니다. PHPMailer를 사용하고 있습니다. 이 줄은 작동하지 않습니다 : $mail->AddAddress($to, "Test Message");$to 대신 전자 메일 주소를 입력해야 작동합니다. 하지만 데이터베이스의 모든 이메일에 이메일을 보내야합니다.전자 메일 응용 프로그램

if ((!empty($subject)) && (!empty($text))) { 

    $query = "SELECT * FROM email_list"; 
    $result = mysqli_query($dbc, $query) 
    or die('Error querying database.'); 

    while ($row = mysqli_fetch_array($result)){ 

    $to = $row['email']; 
    $mail->AddAddress($to, "Test Message"); 
    $subject = $_POST['subject']; 
    $text = $_POST['elvismail']; 
    $first_name = $row['first_name']; 
    $last_name = $row['last_name']; 
    $msg = "Dear $first_name $last_name,\n$text"; 
    mail($to, $subject, $msg, 'From:' . $from); 
    echo 'Email sent to: ' . $to . '<br />'; 
    } 

    mysqli_close($dbc); 
} 
+0

'$ to'을 (를) 에코 할 때 전자 메일이 올바르게 표시됩니까? – chriz

+0

우리는 데이터베이스에 무엇이 있는지 모릅니다 ... 예제를 제공해주세요 ... – RichardBernards

+0

PHPMailer와 php'mail()'함수를 실제로 혼합하고 있습니다. PHPMailer 예제를 읽어보십시오. – vaso123

답변

0

따라서 PHPMailer으로 만 가능합니다. PHPMailer과 PHP mail() 함수를 함께 사용하지 마십시오.

if ((!empty($subject)) && (!empty($text))) { 
    $query = "SELECT * FROM email_list"; 
    $result = mysqli_query($dbc, $query) or die('Error querying database.'); 
    $mail = new PHPMailer(); 
    $mail->Subject = $_POST['subject']; 
    while ($row = mysqli_fetch_array($result)) { 
     $mail->AddAddress($row["email"]); 
     $msg = "Dear " . $row['first_name'] . " " 
      . $row['last_name'] . " " 
      . "\n" . $_POST['elvismail']; 
     $mail->Body = $msg; 
     $mail->Send(); 
     $mailer->ClearAllRecipients(); 
     echo 'Email sent to: ' . $row["email"] . '<br />'; 
    } 
    mysqli_close($dbc); 
} 
+0

메일 오류 : 적어도 하나의 수신자 이메일 주소를 제공해야합니다. – user3602426

+0

이 줄 다음에 : while ($ row = mysqli_fetch_array ($ result)) {'do 'var_dump ($ row); die();''$ row [ 'email']'에 유효한 전자 메일 주소가 있습니까? – vaso123

관련 문제