Jump to content

Modify form mail script - send to e-mails in database


meek

Recommended Posts

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 = "[email protected]";

# 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 protected]";
    $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.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.