【发布时间】: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 处理电子邮件(使用相同的凭据)有效