Error while sending email to Multiple Addresses From MYSQL Database using PHP
Posted
by
user1751581
on Stack Overflow
See other posts from Stack Overflow
or by user1751581
Published on 2012-10-28T16:22:53Z
Indexed on
2012/10/28
17:00 UTC
Read the original article
Hit count: 283
I am trying to send an email to multiple email addresses which are contained in a database and sorted into a recordset... The recordset has multiple columns, but I only need one: "Email". I know that if I have them in an array I can implode them and separate them by commas, but I'm not sure how I could do that with a recordset column. Anyone know how? BTW I know I have the mail function commented out... The echo is returning null...
Heres the code that I tried:
$colname_rsAllLeads = "-1";
if (isset($_SESSION['MM_Username'])) {
$colname_rsAllLeads = $_SESSION['MM_Username'];
}
mysql_select_db($database_myBackOfficeConn, $myBackOfficeConn);
$query_rsAllLeads = sprintf("SELECT Email FROM Leads WHERE `User` = %s ORDER BY FullName ASC", GetSQLValueString($colname_rsAllLeads, "text"));
$rsAllLeads = mysql_query($query_rsAllLeads, $myBackOfficeConn) or die(mysql_error());
$row_rsAllLeads = mysql_fetch_assoc($rsAllLeads);
$totalRows_rsAllLeads = mysql_num_rows($rsAllLeads);
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
$startcode = $_POST['messagefield'];
$replaced = preg_replace( '/\\\\(?="|\')/', '', $startcode );
echo $replaced;
$collectedleads = implode(',', $row_rsAllLeads['Email']);
echo $collectedleads;
/*
$to = $collectedleads;
$subject = $_POST['subjectfield'];
$body = $replaced;
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: " . $row_rs_CurrentUser['FirstName'] . " " . $row_rs_CurrentUser['LastName'] . " <" . $row_rs_CurrentUser['Email'] . ">";
if (mail($to, $subject, $body, $headers)) {
} else {
echo("<p>Message delivery failed...</p>");
}
*/
$insertSQL = sprintf("INSERT INTO PendingEmails (`to`, subject, message) VALUES (%s, %s, %s)",
GetSQLValueString($row_rsAllLeads['Email'], "text"),
GetSQLValueString($_POST['subjectfield'], "text"),
GetSQLValueString($_POST['messagefield'], "text"));
mysql_select_db($database_myBackOfficeConn, $myBackOfficeConn);
$Result1 = mysql_query($insertSQL, $myBackOfficeConn) or die(mysql_error());
$insertGoTo = "Email Sent.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
When I use var_dump($row_rsAllLeads['Email'])
it outputs string(16) "[email protected]" but I know that there is no error in my SQL query because when I put them in a select box, they all show up...
© Stack Overflow or respective owner