无法使用PHP发送电子邮件-获取电子邮件发送消息,但实际上没有发送电子邮件



我尝试使用SMTP服务器发送邮件,并完成了所有配置。我收到一封邮件,上面写着"谢谢你"。但当我转到我的电子邮件帐户时,没有邮件。此外,由于我正试图从我的邮件地址向另一个地址发送电子邮件,我收到的邮件说有人试图登录你的帐户。我在这里理解的是,代码可以登录到我的帐户,但不能发送邮件。这里可能有什么问题?

以下是我在sendmail.ini文件中所做的操作:

**

  • smtp_server=smtp.gmail.com
  • smtp_port=465
  • smtp_ssl=ssl
  • default_domain=localhost
  • error_logfile=error.log
  • debug_logfile=debug.log
  • auth_username=[mygmaildress]@gmail.com
  • auth_password=[我的密码]
  • pop3_服务器=
  • pop3_username=
  • pop3_password=
  • 强制发送器=
  • 强制接收=
  • hostname=localhost

**

这是我的代码:

<?php 
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","465");
if(isset($_POST['submit'])){
$to = "mygmailadres@gmail.com"; // this is my Email address 
$from = $_POST['email']; // this is the user'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:" . "nn" . $_POST['message'];
$message2 = "Here is a copy of your message " . $first_name . "nn" . $_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></body>
</html> 

GMAIL中需要进行几项设置才能使其正常工作。请检查以下几点。

  1. 如果您使用GMail的SMTP服务器发送电子邮件(使用GMail发送电子邮件(,请确保在GMail中禁用两步验证,否则您可能会收到"电子邮件已发送"消息,但实际上不会发送电子邮件
  2. 启用IMAP访问,此操作已在您的帐户中完成
  3. 您可能需要允许不太安全的应用程序访问GMAIL中的帐户。点击链接&安全应用程序的直接链接

当我尝试以上所有步骤时,它对我有效。如果它们都不起作用,那么您需要检查错误日志文件,以确定它停止发送电子邮件的确切原因。

相关内容

最新更新