【问题标题】:Sending email with PHP from a GMAIL SMTP server / it does not send [duplicate]从 GMAIL SMTP 服务器使用 PHP 发送电子邮件/它不发送 [重复]
【发布时间】:2020-11-19 06:09:49
【问题描述】:

我想通过 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 的电子邮件打磨(使用相同的凭据)有效。

【问题讨论】:

  • 您是否尝试过使用其他电子邮件地址发送邮件,可能使用 github.com/mailhog/MailHog 之类的地址?如果可行,由于您的安全设置,谷歌可能会失败
  • 测试您是否正确配置了您的电子邮件客户端。您可能无法通过正确配置的电子邮件客户端发送电子邮件,因此您的客户端有问题。 smtper.net
  • 从 Python 处理电子邮件(使用相同的凭据)有效

标签: php email smtp gmail


【解决方案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");

} ?>

【讨论】:

    猜你喜欢
    • 2016-09-07
    • 2010-10-17
    • 1970-01-01
    • 2015-10-22
    相关资源
    最近更新 更多