meek Posted February 18, 2007 Share Posted February 18, 2007 Hi there. I have found a form mail script which I would like to modify so that it sends to a number of e-mail addresses in a database instead of the $mailto. The e-mail script is this: <?php // Your e-mail adress: $mailto = "name@domain.tld"; # Maximum size of attachment in bytes: $max_attach_size = 500000; ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Formmailer</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> <!-- body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; color: #000000; background: #ffff3; margin: 20px; padding: 0px; border: 0px; } .caution { color: red; font-weight: bold; } --> </style> </head> <body><?php /*if (empty($_POST['form_submitted'])) { ?><p>Please fill out the form:</p><?php } */ if (isset($_POST["form_submitted"])) { $name = trim(preg_replace("/\r/", "", $_POST['name'])); $name = preg_replace("/\n/", "", $name); $name = stripslashes($name); $email = trim(preg_replace("/\r/", "", $_POST['email'])); $email = preg_replace("/\n/", "", $email); $subject = trim(stripslashes($_POST['subject'])); $text = trim(stripslashes($_POST['text'])); unset($errors); if($email == "") $errors[] = "no e-mail address entered"; elseif($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) $errors[] = "e-mail address seems to be invalid"; if($text == "") $errors[] = "no message entered"; if($_FILES['probe']['size'] > $max_attach_size) $errors[] = "attachment too large (".number_format($_FILES['probe']['size']/1000,0,",","")." KB) - maximum size: ".number_format($max_attach_size/1000,0,",","")." KB"; if (empty($errors)) { #if ($name != "") $mail_name=$name; else $mail_name="Unknown"; if ($subject != "") $mail_subject = $subject; else $mail_subject = "No subject"; #if ($email != "") $mail_email = $email; else $mail_email = "email@unknown.xyz"; $ip = $_SERVER["REMOTE_ADDR"]; // if attachment, MIME-Mail: if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "") { // read and encode file: $datei_content = fread(fopen($_FILES['probe']['tmp_name'],"r"),filesize($_FILES['probe']['tmp_name'])); $datei_content = chunk_split(base64_encode($datei_content),76,"\n"); // Boundary: $boundary = md5(uniqid(rand())); // Mail-Header: $mail_header = "From: ".$name." <".$email.">\n"; $mail_header .= "X-Sender-IP: ".$ip."\n"; $mail_header .= "MIME-Version: 1.0\n"; $mail_header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n"; $mail_header .= "This is a multi-part message in MIME format.\n"; // Mail-Text: $mail_header .= "--".$boundary; $mail_header .= "\nContent-Type: text/plain"; $mail_header .= "\nContent-Transfer-Encoding: 8bit"; $mail_header .= "\n\n".$text; // Attachment: $mail_header .= "\n--".$boundary; $mail_header .= "\nContent-Type: ".$_FILES['probe']['type']."; name=\"".$_FILES['probe']['name']."\""; $mail_header .= "\nContent-Transfer-Encoding: base64"; $mail_header .= "\nContent-Disposition: attachment; filename=\"".$_FILES['probe']['name']."\""; $mail_header .= "\n\n".$datei_content; // End: $mail_header .= "\n--".$boundary."--"; // Sende E-Mail und gebe Fehler bzw. Bestaetigung aus if (@mail($mailto,$mail_subject,"",$mail_header)) $sent = true; else $errors[] = "no connection to the mailserver - please try again later"; } // no attachment, normal E-mail: else { $mail_header = "From: ".$name." <".$email.">\n"; $mail_header .= "X-Sender-IP: $ip\n"; $mail_header .= "Content-Type: text/plain"; if (@mail($mailto,$mail_subject,$text,$mail_header)) $sent = true; else $errors[] = "no connection to the mailserver - please try again later"; } // copy to sender: if (isset($sent)) { $copy_subject = strip_tags($mail_subject); $copy_subject = str_replace('http://','',$copy_subject); $copy_subject = str_replace('www.','www. ',$copy_subject); $copy_text = strip_tags($text); $copy_text = str_replace('http://','',$copy_text); $copy_text = str_replace('www.','www. ',$copy_text); if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "") $copy_text = "Subject: ".$copy_subject."\n\n".$copy_text."\n\nAttachment: ".$_FILES['probe']['name']; else $copy_mail_text = "Subject: ".$mail_subject."\n\n".$copy_text; $header= "From: ".$mailto."\n"; $header .= "X-Sender-IP: ".$ip."\n"; $header .= "Content-Type: text/plain"; @mail($email, "Copy of sent e-mail", $copy_text, $header); } } } if (empty($sent)) { if(isset($errors)) { ?><p class="caution">Error:</p><ul><?php foreach($errors as $f) { ?><li><?php echo $f; ?></li><?php } ?></ul><br /><?php } ?><form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>" enctype="multipart/form-data"><div> <p><b>Name:</b><br /><input type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""; ?>" size="35" /></p> <p><b>E-mail:</b><br /><input type="text" name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""; ?>" size="35" /></p> <p><b>Subject:</b><br /><input type="text" name="subject" value="<?php if (isset($subject)) echo htmlentities(stripslashes($subject)); else echo ""; ?>" size="35" /></p> <p><b>Message:</b><br /><textarea name="text" cols="55" rows="12"><?php if (isset($text)) echo htmlentities(stripslashes($text)); else echo ""; ?></textarea></p> <b>Attachment:</b><br /><input type="file" name="probe" value="<?php if (isset($_POST['probe'])) echo htmlentities(stripslashes($_POST['probe'])); else echo ""; ?>" size="20"/></p> <br /><br /> <p><input type="submit" name="form_submitted" value="OK - Submit" /></p> </div></form><?php } else { if (empty($email)) { ?><p><b>Thank you!</b><br />The message has been sent successfully but you didn't specify your e-mail address so I can't reply.</p><?php } else { ?><p><b>Thank you!</b><br />The message has been sent successfully.</p><?php } } // If you want to remove the Link please donate some Euros: // http://www.mylittlehomepage.net/donation.html ?><p style="margin-top: 25px; font-size: 11px;">Script by <a class="sln" href="http://www.mylittlehomepage.net/">Alex</a></p> </body> </html> My table is called ab_records and the field containing the e-mail addresses is called Email1. Can anyone help me inserting this information? Thanks in advance. Quote Link to comment https://forums.phpfreaks.com/topic/39018-modify-form-mail-script-send-to-e-mails-in-database/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.