MySQLデータベースからアドレスのサブセットに電子メールを送信する際に問題があります。PHPとMySQLを使用して複数の電子メールを送信
3つの電子メール(email1、email2、email3)を送信する必要がありますが、最初の(email1)を送信するだけです。
<?php
$query_iscritti = "SELECT * FROM richieste WHERE negozio LIKE 'NOMENEGOZIO'";
$iscritti = mysql_query($query_iscritti, $conn) or die(mysql_error());
$row_iscritti = mysql_fetch_assoc($iscritti);
$totalRows_iscritti = mysql_num_rows($iscritti);
$mittente = $_POST['mittente'];
$destinatario = $row_iscritti['email'];
$oggetto = $_POST['oggetto'];
$messaggio = nl2br($_POST['messaggio']);
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
$headers = "From: " . $mittente;
$msg = "";
if (is_uploaded_file($allegato)) {
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
fclose($file);
$data = chunk_split(base64_encode($data));
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"{$mime_boundary}\"";
$msg .= "This is a multi-part message in MIME format.\n\n";
$msg .= "--{$mime_boundary}\n";
$msg .= "Content-Type: text/html; charset=\"UTF-8\"\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $messaggio . "\n\n";
$msg .= "--{$mime_boundary}\n";
$msg .= "Content-Disposition: attachment; filename=\"{$allegato_name}\"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= $data . "\n\n";
$msg .= "--{$mime_boundary}--\n";
} else {
$msg = $messaggio;
}
if (mail($destinatario, $oggetto, $msg, $headers)) {
} else {
print "Errore";
}
while ($row_iscritti = mysql_fetch_assoc($iscritti));
echo ("EMAIL INVIATE CORRETTAMENTE");
?>
私はこの問題はwhile
ループしていると思います。
で
を交換し、コードのインデントが唯一の光喜びを提供していませんのでご注意ください。コードを共有する場合は、他の人がコードを理解できるようにすることが重要です。 – arkascha
最初に行を1つだけ取得し、最後のループは完全に空です。 – jeroen
一般的な注意:古い、安全でない、廃止予定の 'mysql _...()'関数を使用しています。この問題はPHPのドキュメントではっきりと指摘されています。コードを移植し、 'mysqli'や' PDO' _now_を使い始めるべきです。そうでなければphpをアップグレードするとコードが機能しなくなります。 – arkascha