使用PHP从GMAIL SMTP服务器发送电子邮件/它不发送

使用PHP从GMAIL SMTP服务器发送电子邮件/它不发送,php,email,smtp,gmail,Php,Email,Smtp,Gmail,我想发送一封来自PHP脚本的电子邮件。我在Ubuntu机器上安装了Apache服务器,仅此而已。我准备了一个index.html文件: <?php if(isset($_POST['submit'])){ ini_set("SMTP", "smtp.gmail.com"); ini_set("sendmail_from", "xxxx@gmail.com"); ini_set(&quo

我想发送一封来自PHP脚本的电子邮件。我在Ubuntu机器上安装了Apache服务器,仅此而已。我准备了一个index.html文件:

<?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>
我允许在gmail设置中使用gmail,但是电子邮件没有被发送。你知道为什么吗


您可以使用这些凭据进行测试:tmail4824@gmail.com,密码:XXX_12345。使用相同的凭据从Python进行电子邮件砂光处理是有效的。

?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");
}
?>

您是否尝试使用其他电子邮件地址发送邮件,可能使用类似的方式?如果这样做有效的话,谷歌可能会因为你的安全设置而失败。如果你配置好了你的电子邮件客户端。您可能无法通过正确配置的电子邮件客户端发送电子邮件,因此您的客户端有问题。使用相同的凭据从Python进行电子邮件砂光处理是有效的