Results 1 to 2 of 2

Thread: Server issue or PHP? - Contact Form Not Sending HTML correctly?

  1. #1
    Editor08 Guest

    Question Server issue or PHP? - Contact Form Not Sending HTML correctly?

    I am using the following code which is being sent over SMTP. When email message is received in gmail raw html appears. In Outlook the message is blank. What is the issue? A php error or server problem?

    (process-form.php)
    Code:
    <!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
    <html>
    <head>
    <meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859–1”>
    <style>
    body {
    background-color: #6BBDB9;
    }
    div {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    }
    div.mailbody {
    font-family: “Courier New”, Courier, mono;
    }
    div.mailfail {
    width: 450px;
    border: 3px solid #000000;
    padding: 22px 22px 22px 22px;
    text-align: center;
    vertical-align: middle;
    background-color: #FEBA3B;
    color: #3F2401;
    font-weight: bold;
    }
    div.mailsent {
    width: 450px;
    border: 3px solid #000000;
    padding: 22px 22px 22px 22px;
    text-align: center;
    vertical-align: middle;
    background-color: #FF900B;
    color: #000000;
    font-weight: bold;
    }
    </style>
    <title><?php echo($title); ?></title>
    <?php
    
    require (“smtpclass.php”);
    if($_SERVER[“REQUEST_METHOD”] == “POST”)
    {
    $smtp=new SMTPMAIL;
    
    $stemail = “test@gmail.com”; //EMAIL TO RECIEVE THE PRESENTATION BOOKINGS
    $stsubject = “Contact from Website”; //THE SUBJECT OF THE EMAIL
    $stfrom = “do-not-send@website.com”; //THE ‘From:’ EMAIL ADDRESS
    $stwho= “website”; //NAME TO APPEAR ON THE EMAIL
    $streply= “do-no-reply@website.com”; //THE REPLY-TO ADDRESS
    $cc=””;
    
    if(!$_POST[‘fullname’]) {
    header(“Location: index.html”);
    }
    
    $headers = “From: ” .$stwho. ”<”.$stfrom. ”>\n” . “Reply-To: ” .$streply. ”\n”;
    $headers .= ‘MIME-Version: 1.0’ . ”\r\n”;
    $headers .= ‘Content-type: text/html; charset=iso-8859–1’ . ”\r\n”;
    // message
    $message = ””;
    
    $artype = array(
    “keynote” => “Keynote Address”,
    “seminar” => “Seminar”,
    “workforce” => “Workforce Development”,
    “training” => “Leadership / Staff Training”
    );
    $arevent = array(
    “forum” => “Forum”,
    “formal” => “Formal Address”,
    “informal” => “Informal Address – Audience Interaction”,
    “discussion” => “Discussion”,
    “solving” => “Problem Solving”
    );
    
    $audtype = ””;
    if($_POST[‘professional’]) { $audtype.=“Professional”; }
    if($_POST[‘management’]) { $audtype.=“Management”; }
    if($_POST[‘employees’]) { $audtype.=“Employees”; }
    if($_POST[‘youth’]) { $audtype.=“Youth”; }
    $audgend = ””;
    if($_POST[‘male’]) { $audgend.=“Male”; }
    if($_POST[‘female’]) { $audgend.=“Female”; }
    if($_POST[‘coed’]) { $audgend = “Co-ed”; }
    $ftimeframe = “Multi Day”;
    if($_POST[‘timeframe’] == ‘single’) {
    $ftimeframe = “Single Day”;
    }
    $fotherspeakers = “None”;
    if($_POST[‘otherspeakers’] == ‘yes’) {
    $fotherspeakers = strip_tags($_POST[‘whospeakers’]);
    }
    $avequip = “None”;
    if($_POST[‘equip’] == ‘yes’) {
    $avequip = strip_tags($_POST[‘yesequip’]);
    }
    $artopics = array(
    “book” => “The book”,
    “leadership” => “Leadership & Management”,
    “communication” => “Communication”,
    “planning” => “Planning”,
    “skills” => “Presentation Skills”,
    “contracts” => “Government Contracts”
    );
    
    $message .= ”<html><body>”;
    $message .= ”\n<table rules=\“all\” style=\“border-color: #666;\” cellpadding=\“10\” width=\“100%\”>”;
    $message .= ”\n<tr style=‘background: #eee;’><td width=‘30%’><strong>Name:</strong> </td><td width=‘70%’>” . strip_tags($_POST[‘fullname’]) . ”</td></tr>”;
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Phone:</strong> </td><td>” . strip_tags($_POST[‘phone’]) . ”</td></tr>”;
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Email:</strong> </td><td>” . strip_tags($_POST[‘email’]) . ”</td></tr>”;
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Organization:</strong> </td><td>” . strip_tags($_POST[‘organization’]) . ”</td></tr>”;
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Address:</strong> </td><td>” . strip_tags($_POST[‘address’]) . ”</td></tr>”;
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Type of Presentation:</strong> </td><td>”;
    if($_POST[‘type’] == “other”) {
    $message .= strip_tags($_POST[‘typeother’]) . ”</td></tr>”;
    } else {
    $message .= $artype[$_POST[‘type’]] . ”</td></tr>”;
    }
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Type of Event:</strong> </td><td>” . $arevent[$_POST[‘event’]] . ”</td></tr>”;
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Audience Type:</strong> </td><td><ul>” . $audtype . ”</ul></td></tr>”;
    if($_POST[‘youth’]) {
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Youth Age Group:</strong> </td><td>” . strip_tags($_POST[‘youthother’]) . ”</td></tr>”;
    }
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Audience Gender:</strong> </td><td><ul>” . $audgend . ”</ul></td></tr>”;
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Event Time Frame:</strong> </td><td>” . $ftimeframe . ”</td></tr>”;
    if($_POST[‘timeframe’] == ‘multi’) {
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Days:</strong> </td><td>” . strip_tags($_POST[‘multidays’]) . ”</td></tr>”;
    }
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Other Speakers:</strong> </td><td>” . $fotherspeakers . ”</td></tr>”;
    if($fotherspeakers != ‘None’) {
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Speakers Topics:</strong> </td><td>” . strip_tags($_POST[‘speakerstopics’]) . ”</td></tr>”;
    }
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>A/V Equipment:</strong> </td><td>” . $avequip . ”</td></tr>”;
    $message .= ”\n<tr style=‘background: #eee;’><td><strong>Desired Topics:</strong> </td><td>”;
    if($_POST[‘topics’] == “other”) {
    $message .= strip_tags($_POST[‘topicsother’]) . ”</td></tr>”;
    } else {
    $message .= $artopics[$_POST[‘topics’]] . ”</td></tr>”;
    }
    $message .= ”\n</table>”;
    $message .= ”\n</body></html>”;
    
    if(!$smtp->send_smtp_mail($stemail,$stsubject,$message,$headers,$cc,$stfrom))
    
    $error=“Error in sending the following message please directly email contact@website.com: ”.$smtp->error;
    else
    $report=“The following message was sent successfully!”;
    }
    
    ?>
    
    <?php @extract($_POST);?>
    </head>
    
    <body>
    
    <center><div class=“mailsent”><?php echo $report; echo $error; ?>:<br /><br />
    <div class=“mailbody”><?php echo($message); ?></div><br /><br />
    <a href=“javascript:history.go(-1);”>Go Back</a>
    </div></center>
    
    </body>
    </html>
    
    (smtpclass.php)
    <?php
    
    class SMTPMAIL
    {
    var $host=””;
    var $port=25;
    var $error;
    var $state;
    var $con=null;
    var $greets=””;
    
    function SMTPMAIL()
    {
    $this->host=ini_get(“SMTP”);
    $this->port=25;
    $this->state=“DISCONNECTED”;
    }
    function set_host($host)
    {
    $this->host=$host;
    }
    function set_port($port=25)
    {
    $this->port=$port;
    }
    function error()
    {
    return $this->error;
    }
    function connect($host=””,$port=25)
    {
    if(!empty($host))
    $this->host($host);
    $this->port=$port;
    if($this->state!=“DISCONNECTED”)
    {
    $this->error=“Error : connection already open.”;
    return false;
    }
    
    $this->con=@fsockopen($this->host,$this->port,$errno,$errstr);
    if(!$this->con)
    {
    $this->error=“Error($errno):$errstr”;
    return false;
    }
    $this->state=“CONNECTED”;
    $this->greets=$this->get_line();
    return true;
    }
    function send_smtp_mail($stemail,$stsubject,$data,$headers,$cc=””,$stfrom=‘support’)
    {
    $ret=$this->connect();
    if(!$ret)
    return $ret;
    $this->put_line(“MAIL FROM: $stfrom”);
    $response=$this->get_line();
    if(intval(strtok($response,” ”))!=250)
    {
    $this->error=strtok($response,”\r\n”);
    return false;
    }
    $stemail_err=preg_split(”/[,;]/”,$stemail);
    foreach($stemail_err as $mailto)
    {
    $this->put_line(“RCPT TO: $mailto”);
    $response=$this->get_line();
    if(intval(strtok($response,” ”))!=250)
    {
    $this->error=strtok($response,”\r\n”);
    return false;
    }
    }
    if(!empty($cc))
    {
    $stemail_err=preg_split(”/[,;]/”,$cc);
    foreach($stemail_err as $mailto)
    {
    $this->put_line(“RCPT TO: $mailto”);
    $response=$this->get_line();
    if(intval(strtok($response,” ”))!=250)
    {
    $this->error=strtok($response,”\r\n”);
    return false;
    }
    }
    }
    $this->put_line(“DATA”);
    $response=$this->get_line();
    if(intval(strtok($response,” ”))!=354)
    {
    $this->error=strtok($response,”\r\n”);
    return false;
    }
    $this->put_line(“TO: $stemail”);
    $this->put_line(“SUBJECT: $stsubject”);
    $this->put_line($data);
    $this->put_line(”.”);
    $response=$this->get_line();
    if(intval(strtok($response,” ”))!=250)
    {
    $this->error=strtok($response,”\r\n”);
    return false;
    }
    $this->close();
    return true;
    }
    // This function is used to get response line from server
    function get_line()
    {
    while(!feof($this->con))
    {
    $line.=fgets($this->con);
    if(strlen($line)>=2 && substr($line,-2)==”\r\n”)
    return(substr($line,0,-2));
    }
    }
    ////This functiuon is to retrive the full response message from server
    
    ////This functiuon is to send the command to server
    function put_line($msg=””)
    {
    return @fputs($this->con,”$msg\r\n”);
    }
    
    function close()
    {
    @fclose($this->con);
    $this->con=null;
    $this->state=“DISCONNECTED”;
    }
    }
    
    ?>

  2. #2
    Editor08 Guest

    [SOLVED]Server issue or PHP? - Contact Form Not Sending HTML correctly

    Problem solved needed to add

    PHP Code:
    Code:
     $this->put_line($headers);
    to smtpclass.php

Similar Threads

  1. Flash mail form + php big problem
    By irka in forum Client & Server Side Scripting (PHP, ASP, JavaScript)
    Replies: 1
    Last Post: 09 Dec 2009, 07:00 AM
  2. PHP form submit problem
    By simononestop in forum Client & Server Side Scripting (PHP, ASP, JavaScript)
    Replies: 1
    Last Post: 15 Jun 2009, 10:42 PM
  3. Back up server issue
    By varun8211 in forum Web Hosting and Domain Names
    Replies: 1
    Last Post: 11 Oct 2005, 10:44 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •