2010-07-16 11 views
1

PHP mail() 기능을 사용하여 여러 수신자에게 전자 메일을 보내려고합니다. 전자 메일 메시지는 회원 자격이 만료되기 때문에 MySql 데이터베이스 쿼리에서 전자 메일 주소가 올 것이라는 단순한 알림입니다. 주어진 시간에 2-10의 어느 곳이든있을 것입니다. 다음 코드를 발견했지만 오류가 발생합니다. 정확한 레코드 세트를 생성 할 때 내 쿼리에 문제가 없습니다. 이것은 내가 가지고있는 코드입니다. 누군가가 도울 수 있기를 바랍니다. 그건 그렇고, 나는 아주 초보자이므로 쉬운 설명이 필요하다. 사전에 감사합니다 : 당신은 그냥 우편으로 순서를 변경()와 미래에 더주의해야하므로MySql Recordset에서 여러 수신자에게 전자 메일 보내기

<?php 

$recipients = ("SELECT email FROM tblMembers WHERE search criteria=criteria"); 
$email_list = $db->query($recipients); 
foreach($email_list as $row) { 
$to = $row['email']; 
$subject = "Membership Renewal"; 
$headers = "From: Membership Coordinator <[email protected]>\r\n"; 
$message = "THIS IS AN AUTOMATED EMAIL. PLEASE DO NOT REPLY""\n""etc, etc, etc"; 
    if (mail($to,$subject,$headers,$message)) { 
    echo "Email was sent successfully"; 
    } else { 
    echo "Email delivery has failed!"; 
    } 
} 
?> 
+3

오류 무엇입니까? –

+1

구문 분석 오류 : 구문 오류, 예기치 않은 T_IF /data/9/1/42/26/1205515/user/1284694/htdocs/Members/Renewals_Due.php 온라인 85 줄 85는 다음과 같습니다. if (mail ($ 제목, $ 제목, $ 헤더, $ 메시지)) { – Kathy

답변

0

지금까지 내가 아는 한, 다음 $ 헤더$ 메시지 후 제공됩니다.

0

변경

$message = "THIS IS AN AUTOMATED EMAIL. PLEASE DO NOT REPLY""\n""etc, etc, etc"; 

문자열 종료됩니다 "때문에 구문 오류가 있습니다

$message = "THIS IS AN AUTOMATED EMAIL. PLEASE DO NOT REPLY\netc, etc, etc"; 

에. 당신은 필요합니다. 다음 문자열을 연결하는.

하지만 당신을 이중 따옴표 붙은 문자열에 있기 때문에이 시점에서 두 개를 "빠져 나갈 수 있습니다. PHP는 \ n을 개행 문자로 대체합니다.

+0

이제 새로운 오류가 있습니다. for의 코드는 반복 영역이있는 동적 양식으로 갱신 목록을 표시합니다. 페이지가 전혀 열리지 않기 전에. 오류 메시지가 흰색 페이지에 나타납니다. 이제 페이지가 열리고 있지만 페이지 하단에 " "오류가 있습니다. 치명적인 오류 :/data/9/1/42/26/1205515에있는 개체가 아닌 개체의 query() 함수를 호출하십시오. /user/1284694/htdocs/Members/Renewals_Due.php on line 79 줄 79는 다음과 같습니다. $ email_list = $ db-> query ($ recipients); – Kathy

+0

$ db-> query를 호출 할 때 함수 내에 있습니까?()? $ db-> query() 호출 전에 "global $ db;"를 추가해야합니다. $ db 클래스를로드했는지 확인하고 – JochenJung

+0

을 확인하십시오. 오류는 foreach 인수가 유효하지 않습니다. 위 코드에서와 같이 : foreach ($ email_list $ row) – Kathy