-1

I'm not receiving the text from the form field. Anything im doing wrong ?

<?php
$newsletter_email = $_POST['newsletter_email'];
$to = "gb@gyde.asia";
$subject = "Subscription for Newsletter";
$headers = "From: $to";
mail ($to, $subject, " E-mail: " . $newsletter_email, $headers);
if(mail ($to, $subject, " E-mail: " . $newsletter_email, $headers )){ 
echo "Mail did its job..."; } else { echo "Oops, something went South!";  }
?>

HTML

    <div id="newsletter" class="form-wrap"> 
        <form action="process.php" method="post" id="newsletter-form"> 
            <input type="text" name="newsletter_email" id="newsletter_email" required class="feedback-input" maxlength="30" placeholder="Email" /> 
            <input type="submit" name="newsletter_submit" id="newsletter_submit" value="Subscribe" class="button-blue"/> 
        </form> 
    </div> 

2 Answers2

0

You scripts is fine, but you send mail twice. Before send check if the POST have some message to send. Change like this:

$newsletter_email = $_POST['newsletter_email'];
if($newsletter_email != ""){
    $to = "gb@gyde.asia";
    $subject = "Subscription for Newsletter";
    $headers = "From: $to";
    if(mail ($to, $subject, " E-mail: " . $newsletter_email, $headers ))
    { 
         echo "Mail did its job..."; 
    } 
    else 
    { 
         echo "Oops, something went South!"; 
    }
}

N.B. Check your Spam Box as said Hanky Panky

Lorenzo Belfanti
  • 1,205
  • 3
  • 25
  • 51
0

Some time Mail function does not support your server. so mail can't reach.

There is a solutions please use SMTP mail.

<?php
    ini_set("SMTP", "aspmx.l.google.com");
    ini_set("sendmail_from", "YOURMAIL@gmail.com");

    $message = "The mail message was sent with the following mail setting:\r\nSMTP = aspmx.l.google.com\r\nsmtp_port = 25\r\nsendmail_from = YourMail@address.com";

    $headers = "From: YOURMAIL@gmail.com";


    mail("Sending@provider.com", "Testing", $message, $headers);
    echo "Check your email now....<BR/>";
?>
Navnit Mishra
  • 497
  • 4
  • 14