2009-04-28 24 views
0

私は複数のアドレスに電子メールを送信しようとしていますので、データベースから電子メールを取得し、それぞれをカンマで区切りますが、しかし、getmails()と同様の機能が別のページで動作しているので、私が間違っていることについては本当に失われています。ここで私のコードですが、どんな助けも高く評価されます。PHP Mail()関数が失敗しました

ありがとうございます。

function getmails() 
    { 
    $id = mysql_query("SELECT * FROM subscribes ORDER BY subscribe_id DESC") or die(mysql_error()); 
$elements = array(); 
while($activeArray=mysql_fetch_array($id)) 
{ 
    $elements[] = $activeArray['subscribe_email'] ; 
} 
$main = implode(', ', $elements); 
print $main; 

} 

function announce() { 

if(isset($_POST['announce'])) { 
    $ToEmail = getmails(); 
$EmailSubject = "".$_POST['title'].""; 
$mailheader .= "From: [email protected]\r\n"; 
$mailheader = "Reply-to:".$_POST['author']."@subdomain.domain.com\r\n"; 
$mailheader = "Content-type: text/html; charset=iso-8859-1\r\n"; 
$MESSAGE_BODY = "Author: ".$_POST['author']."<br>"; 
$MESSAGE_BODY = "Newsletter: ".$_POST['content']."<br>"; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 

    } 
} 

答えて

4

を使用しているので、私はこれがあなたの問題であるかどうか知らないが、$mailheaderを構築ラインの二つは以前の値を破棄していますあなたのメールがうまくいかない理由は、結果を返すのではなく、関数内で印刷しているからです。これに

$main = implode(', ', $elements); 
print $main; 

return implode(', ', $elements); 
+0

参照してください、なぜ私はこの場所が大好きです...時には問題を見るために二番目の目を取る..あなたの答えをありがとう:) – Lea

2

あなたはほかに$mailheader = ...ではなく$mailheader .= ...

+0

ありがとうございます、これを変更する必要があります。これは、私が指定した電子メールではなく、送信者として表示されていた電子メールがあったという別の問題を解決しました。あなたの答えをありがとう:) – Lea

関連する問題