2016-05-19 15 views
0

まあ、内容が異なる複数の電子メールを送信しようとしています。それは正しく動作しないと私はすでにこの@ _ @にこだわっていると思う。問題を見つけるのを助けてくれますか?複数の電子メールを送信するPHP

よく、悪い英語のために申し訳ありません。

$email = array('[email protected]','[email protected]'); 
$subject = array("send message", "Welcome"); 
$message = array($_POST['Message'],); 
$messages = implode(',',$message); 
$name = array('Admin','Admin'); 
$to=$email; 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 

// More headers 
$headers .= 'From: kebunbibit.id <[email protected]>'."\r\n" . 'Reply-To: '.$name.' <'.$email.'>'."\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; //untuk cc lebih dari satu tinggal kasih koma 
for($i = 0; $i < count($message); $i++;){ 
    @mail($to, $subject[$i], $messages[$i], $headers); 
}  
if(@mail) 
{ 
print "<script>window.alert('E-Mail Terkirim!')</script>"; 
print "<script>window.location='home.php?page=surat_jalan'</script>";  
} 
else{ 
print "<script>window.alert('E-Mail Gagal Terkirim!')</script>"; 
print "<script>window.location='home.php?page=surat_jalan'</script>";  
} 
+0

問題の内容を教えてください... –

+0

'$ message = array($ _ POST ['Message']、);'から '、'を削除してください。あるいは 'array_filter($ message)'を使ってください。 –

+0

@DaveyD問題は配列と 'for'ループを追加したときに送信できないことです。配列と 'for'ループを削除すると正しく動作します。まあ、私は実際に複数の電子メールを送信することについて知らない –

答えて

0

forループでは、メッセージから1つのメッセージではなく長さを取得する必要があります。

for($i = 0; $i < count($messages); $i++;){ 
    @mail($to, $subject[$i], $messages[$i], $headers); 
}  

おそらくforループの 's'が問題を解決するはずです。それ以外の場合は、後でエラーが発生する可能性があります。

関連する問題