Jump to content

php mail sent to bulk folder


terabitez

Recommended Posts

hi,

  My php mails are sent to yahoo's bulk folder. here's my code:

<?php
  $form_block = " <form method=\"post\" action=\"$_SERVER[PHP_SELF]\">
  <font color=red>(*)Required fields</font><br />";
  $form_block.="$err_message <br />";
  $form_block.="*First&nbsp;Name: <input name=\"fname\" type=\"text\" /><br /><br />
    *Last&nbsp;Name: <input name=\"lname\" type=\"text\" /><br /><br />
    *Email:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name=\"email\" type=\"text\" /><br /><br />
    *Subject: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"text\" name=\"subject\" size =\"42\"/><br/><br />
    *Message:<br />
      <textarea name=\"message\" rows=\"15\" cols=\"40\">
      </textarea><br />
    <input type=\"submit\" value=\"Send\" name=\"send\"/>&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"reset\" value=\"Reset this form\" name=\"reset\" />
      <input type=\"hidden\" name=\"op\" value=\"sent\" />&nbsp;

  </form>";
 
 
    if($_POST[op]!="sent")
{
 
print "$form_block";
 
  }
 
  else if($_POST[op]=="sent")
  {
    $email = $_REQUEST['email'] ;
  $message = $_REQUEST['message'] ;
  $subject = $_REQUEST['subject'];
  $fname = $_REQUEST['fname'];
  $lname = $_REQUEST['lname'];

  if($fname == "")
  {
  $err_fname = "<font color=red><b> Please enter your first name.</b></font>";
$send = "no";
  }
  if($lname == "")
  {
  $err_lname = "<font color=red><b> Please enter your last name.</b></font>";
$send = "no";
  }
  if($message == "")
  {
  $err_message = "<font color=red><b> Please enter your message.</b></font>";
$send = "no";
  }
  if($subject == "")
  {
  $err_subject = "<font color=red><b> Please enter a subject.</b></font>";
$send = "no";
  }
 
  if($email == "")
  {
  $err_email = "<font color=red><b> Please enter your email.</b></font>";
$send = "no";
  }
 
  if($send != "no"){
  $mailheader = "From: \"$fname $lname\" <$email> \r\n";
                      $mailheader .= "Reply-To: \"$fname $lname\" <$email> \r\n";
  $mailheader .="X-Mailer: PHP/" . phpversion() ;
  mail( "[email protected]", $subject, $message, $mailheader);
  //header( "Location: $_SERVER[PHP_SELF]" );
      print "Thank you $fname for your email.";
  }
 
  else if ($send == "no"){
    print "$err_fname\n";
print "$err_lname\n";
print "$err_email\n";
print "$err_subject\n";
print "$err_message\n";

  print "<br />$form_block";
  }
 
}

  ?>

  please help.....  :)
Link to comment
https://forums.phpfreaks.com/topic/33182-php-mail-sent-to-bulk-folder/
Share on other sites

A lot of those bulk issues can be avoided by providing som proper headers in the message.
A lot of questions is regarding this exact problem, so i'll provide an example of a setup that should improve this - study it:
[code]

<?php

// $your_sitename = "here";
// $your_sitemail = "[email protected]";

// $recipient = $_POST['recipient']; // or a static one ofcourse
// $subject = $_POST['message']; // or a static one
// $message = $_POST['message'];

$naughty = "/(%0A|%0D|\\n+|\\r+)(content-type:|mime-version:|cc:|bcc:)/i";
if(preg_match($naughty, $subject) || preg_match($naughty, $recipient))
{
  die("Sorry, injection attempt blocked!");
}
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $recipient))
{
  die("Not a valid email adress was provided");
}

$eol = "\r\n";
$headers = "From: $your_sitename <$your_sitemail>".$eol;
$headers .= "Reply-To: $your_sitename <$your_sitemail>".$eol;
$headers .= "Return-Path: $your_sitename <$your_sitemail>".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol;
$headers .= "Date: ".date("r").$eol;
$headers .= "Message-ID: <".date("YmdHis").substr(md5(rand()),12)."@".$_SERVER['SERVER_NAME'].">".$eol;
$mime_boundary = md5(time());
$headers .= 'MIME-Version: 1.0'.$eol;
$headers .= "Content-Transfer-Encoding: 8bit".$eol;
$headers .= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"".$eol;
$msg = "";
$msg .= "--".$mime_boundary.$eol;
$msg .= "Content-Transfer-Encoding: 8bit".$eol;
$msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol; // <-- modify charset to suit

$msg .= $eol.$eol.$message.$eol.$eol;

$msg = wordwrap($msg, 70);

if(ini_get('safe_mode'))
{
mail($recipient, $subject, $msg, $headers);
}
else
{
mail($recipient, $subject, $msg, $headers, "-f" . $your_sitemail);
}

?>

[/code]

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.