0

I would like to send an email from a PHP script. I installed an Apache server on Ubuntu machine, and that's all. I prepared an index.html file:

<?php 
if(isset($_POST['submit'])){
    ini_set("SMTP", "smtp.gmail.com");
    ini_set("sendmail_from", "xxxx@gmail.com");
    ini_set("smtp_port", "587"); 

    $to = "MY_ADDRESS@gmail.com"; // this is your Email address
    $from = "xxxx@gmail.com"; // this is the sender's Email address
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $subject = "Form submission";
    $subject2 = "Copy of your form submission";
    $message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['email'];
    $message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];

    $headers = "From:" . $from;
    $headers2 = "From:" . $to;
    mail($to,$subject,$message,$headers);
    mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
    echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
    }
?>

<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<body>

<form action="" method="post">
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>

I allowed the usage of the gmail on gmail settings, but the email is not being sent. Any ideas why?

you can use those credentials for testing: tmail4824@gmail.com, password: XXX_12345. Email sanding from Python (using the same credentials) works.

mazix
  • 2,364
  • 8
  • 33
  • 52
  • did you try using another email address to send from maybe using something like https://github.com/mailhog/MailHog ? If that works it might be failing with google due to your security settings – j4g0 Jul 29 '20 at 15:55
  • Test if you configured your email client well. You may be unable to send email through properly configured email clients, thus your client is at fault. https://www.smtper.net/ – nagyl Jul 29 '20 at 16:03
  • Email sanding from Python (using the same credentials) works – mazix Jul 29 '20 at 16:19

1 Answers1

-1

?php

   $name =""; 
   $Email = "";
   $service = "";
   $Subject = "";
   $phone = "";


if(isset($_POST['item.name']))
{
   $name = $_POST['name'];
   $Email = $_POST['email'];
   $Subject = $_POST['subject'];
   $Msg = $_POST['message'];
   $phone = $_POST['phone'];

   

 
       $mailTo = "xxxxxxxxxxxxxx";

       $headers = "from :".$Email;
       $txt = "xxxx\n\n".$name.".\n\n".$Email.".\n\n".$phone.".\n\n".$Msg;


       mail($mailTo, $Subject, $txt, $headers);
       header("location: xxx.php?mailsend");

} ?>

ceeejeey
  • 25
  • 7