1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

How to send nice html email using php

Discussion in 'PHP & Perl' started by thorjack1990, Jun 14, 2013.

  1. thorjack1990

    thorjack1990 BANNED BANNED

    Joined:
    Feb 15, 2013
    Messages:
    71
    Likes Received:
    9
    I was trying to send email in a clean way using table but when i click the submit button.,it sends me just the codes.
    how do i make it?

    Heres the code:

    Code:
    <?php
    /*
    This first bit sets the email address that you want the form to be submitted to.
    You will need to change this value to a valid email address that you can access.
    */
    $webmaster_email = "roiancuares@gmail.com";
    
    
    
    
    /*
    This bit sets the URLs of the supporting pages.
    If you change the names of any of the pages, you will need to change the values here.
    */
    $contacts_page = "contacts.html";
    $error_page = "error_message.html";
    $thankyou_page = "thank_you.html";
    
    
    
    
    /*
    This next bit loads the form field data into variables.
    If you add a form field, you will need to add it here.
    */
    $firstname = $_REQUEST['firstname'] ;
    $lastname = $_REQUEST['lastname'] ;
    $email = $_REQUEST['email'] ;
    $contact = $_REQUEST['contact'] ;
    $company = $_REQUEST['company'] ;
    $website = $_REQUEST['website'] ;
    $country = $_REQUEST['country'] ;
    $city = $_REQUEST['city'] ;
    $comments = $_REQUEST['task'] ;
    $hear = $_REQUEST['hear'] ;
    $code = $_REQUEST['code'] ;
    
    
    $service = $_REQUEST['service'];
     if(is_array($service))
    {
        $message .= "Type of Service needed:" .implode(", ",$service). "\n";
    }
    /*
    The following function checks for email injection.
    Specifically, it checks for carriage returns - typically used by spammers to inject a CC list.
    */
    function isInjected($str) {
    $injections = array('(\n+)',
    '(\r+)',
    '(\t+)',
    '(%0A+)',
    '(%0D+)',
    '(%08+)',
    '(%09+)'
    );
    $inject = join('|', $injections);
    $inject = "/$inject/i";
    if(preg_match($inject,$str)) {
    return true;
    }
    else {
    return false;
    }
    }
    
    
    
    
    // If the user tries to access this script directly, redirect them to the feedback form,
    if (!isset($_REQUEST['email'])) {
    header( "Location: $contacts_page" );
    }
    
    
    
    
    // If the form fields are empty, redirect to the error page.
    elseif (empty($firstname) ||empty($email) || empty($comments)) {
    header( "Location: $error_page" );
    }
    
    
    
    
    // If email injection is detected, redirect to the error page.
    elseif ( isInjected($email_address) ) {
    header( "Location: $error_page" );
    }
    
    
    
    
    // If we passed all previous tests, send the email then redirect to the thank you page.
    else {
    
    
    // Email content
    $content = '<html><body>';
    $content .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
    $content .= "<tr style='background: #eee;'><td><strong>Firstname:</strong> </td><td>" . strip_tags($_POST['firstname']) . "</td></tr>";
    $content .= "<tr><td><strong>Lastname</strong> </td><td>" . strip_tags($_POST['lastname']) . "</td></tr>";
    $content .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($_POST['email']) . "</td></tr>";
    $content .= "<tr><td><strong>Contact Number:</strong> </td><td>" . strip_tags($_POST['contact']) . "</td></tr>";
    $content .= "<tr><td><strong>Company:</strong> </td><td>" . strip_tags($_POST['company']) . "</td></tr>";
    $content .= "<tr><td><strong>Website:</strong> </td><td>" . strip_tags($_POST['website']) . "</td></tr>";
    $content .= "<tr><td><strong>Country:</strong> </td><td>" . strip_tags($_POST['country']) . "</td></tr>";
    $content .= "<tr><td><strong>City:</strong> </td><td>" . strip_tags($_POST['city']) . "</td></tr>";
    $content .= "<tr><td><strong>Services:</strong> </td><td>" . strip_tags($_POST['service']) . "</td></tr>";
    $content .= "<tr><td><strong>Required Job/Task:</strong> </td><td>" . $task . "</td></tr>";
    $content .= "<tr><td><strong>How did you hear about us:</strong> </td><td>" . strip_tags($_POST['hear']) . "</td></tr>";
    $content .= "<tr><td><strong>Voucher Code:</strong> </td><td>" . strip_tags($_POST['code']) . "</td></tr>";
    $content .= "</table>";
    $content .= "</body></html>";
    
    
    
    
    $headers .= 'To: Webmaster <'.$webmaster_email.'>' . "\r\n";
    $headers = 'From: '.$firstname.' <'.$email.'>' . "\r\n";
    mail($webmaster_email, "Request a Quote", $content, $headers);
    
    
    header( "Location: $thankyou_page" );
    }  
    ?>
    
     
  2. innozemec

    innozemec Jr. VIP Jr. VIP

    Joined:
    Aug 19, 2011
    Messages:
    5,288
    Likes Received:
    1,799
    Location:
    www.Indexification.com
    Home Page:
    change

    Code:
    $headers .= 'To: Webmaster <'.$webmaster_email.'>' . "\r\n";
    $headers = 'From: '.$firstname.' <'.$email.'>' . "\r\n";
    
    to

    Code:
    $headers .= 'To: Webmaster <'.$webmaster_email.'>' . "\r\n";
    $headers .= 'From: '.$firstname.' <'.$email.'>' . "\r\n";
    $headers .='MIME-Version: 1.0' . "\r\n";
    $headers .='Content-type: text/html; charset=utf-8' . "\r\n";
    
     
    • Thanks Thanks x 2
  3. Repulsor

    Repulsor Power Member

    Joined:
    Jun 11, 2013
    Messages:
    707
    Likes Received:
    267
    Location:
    PHP Scripting ;)
    Incase if the spam filter catches your email, adding Organisation and Return Path to the headers will help it.

    Cant post the codes because the post filter here doesnt allow me to post the code.
     
    • Thanks Thanks x 1
  4. thorjack1990

    thorjack1990 BANNED BANNED

    Joined:
    Feb 15, 2013
    Messages:
    71
    Likes Received:
    9
    thanks it works.,:) thumbs up
     
  5. thorjack1990

    thorjack1990 BANNED BANNED

    Joined:
    Feb 15, 2013
    Messages:
    71
    Likes Received:
    9
    can u pm me the codes?
     
  6. thorjack1990

    thorjack1990 BANNED BANNED

    Joined:
    Feb 15, 2013
    Messages:
    71
    Likes Received:
    9
    i have a lil problem with the textarea as when i filled it up it doesnt show anything.,its blanked
     
  7. innozemec

    innozemec Jr. VIP Jr. VIP

    Joined:
    Aug 19, 2011
    Messages:
    5,288
    Likes Received:
    1,799
    Location:
    www.Indexification.com
    Home Page:
    which textarea bro?
     
    • Thanks Thanks x 1
  8. thorjack1990

    thorjack1990 BANNED BANNED

    Joined:
    Feb 15, 2013
    Messages:
    71
    Likes Received:
    9
    this one

    <label for="name">Required Job/Task details<sup style="color:red;">*</sup></label><br/>
    <textarea name="task" id="task" rows="5"></textarea><br />

    i guess i called it wrong.,can u help me with it?
     
  9. innozemec

    innozemec Jr. VIP Jr. VIP

    Joined:
    Aug 19, 2011
    Messages:
    5,288
    Likes Received:
    1,799
    Location:
    www.Indexification.com
    Home Page:
    what you want it to do exactly? Show the text you entered after you submit the form? if so.. change it to this:

    Code:
    <textarea name="task" id="task" rows="5"><?php echo $_POST['task']; ?></textarea><br />
    
     
  10. thorjack1990

    thorjack1990 BANNED BANNED

    Joined:
    Feb 15, 2013
    Messages:
    71
    Likes Received:
    9
    when i click the submit button.,i want to show it on the table.,its my only problem.,it doesnt show up


    [TR="bgcolor: #EEEEEE"] [/TR]
    Firstname: asd
    Lastname asd
    Email: asdasd@gmail.com
    Contact Number: 23123
    Company: asdcasd
    Website: asdasd
    Country: Armenia
    City: asdasd
    Services: Other
    Required Job/Task:
    How did you hear about us: 123
    Voucher Code: 123123123
     
  11. innozemec

    innozemec Jr. VIP Jr. VIP

    Joined:
    Aug 19, 2011
    Messages:
    5,288
    Likes Received:
    1,799
    Location:
    www.Indexification.com
    Home Page:
    ah i see now what you mean.. well probably you need to change this:

    Code:
    
    $content .= "<tr><td><strong>Required Job/Task:</strong> </td><td>" . $task . "</td></tr>";
    
    to this
    Code:
    $content .= "<tr><td><strong>Required Job/Task:</strong> </td><td>" . $_POST['task'] . "</td></tr>";
    
     
    • Thanks Thanks x 1
  12. thorjack1990

    thorjack1990 BANNED BANNED

    Joined:
    Feb 15, 2013
    Messages:
    71
    Likes Received:
    9
    thank you very much its now solved