Mark Steggles
Mark Steggles

Reputation: 5573

simple php mail not sending email

Can anyone see if there is something wrong with this? I get no errors but never get the email.

    <?php
if(isset($_POST['email'])) {

    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "[email protected]";
    $email_subject = "Email sent through crankapps website";

    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }

    // validation expected data exists
    if(!isset($_POST['name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['message'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');      
    }

    $name = $_POST['name']; // required
    $email = $_POST['email']; // required
    $message = $_POST['message']; // required

    $error_message = "";
    $email_message = "Form details below.\n\n";

    $email_message .= "Name: ".clean_string($name)."\n";
    $email_message .= "Email: ".clean_string($email)."\n";
    $email_message .= "Message: ".clean_string($message)."\n";


// create email headers
$headers = "From: ". $name . " <" . $email . ">\n.";
mail($email_to, $email_subject, $email_message, $headers); 
?>

Upvotes: 2

Views: 5076

Answers (1)

Kinjal Dixit
Kinjal Dixit

Reputation: 7935

first, test with only one line:

<?php
    mail('[email protected]', 'test email', 'this is a test');
?>

chances are that this will not work.

find out your smtp settings and see if smtp settings in your php.ini match them.

take look at phpmailer which lets you use more smtp settings like ssl etc.

Upvotes: 3

Related Questions