PHP 电子邮件不会发送到我的电子邮件

标签 php forms email xampp

我在使用代码发送和接收电子邮件时遇到一些问题。

当我在本地主机(XAMPP)上尝试此代码时,它显示:电子邮件已发送,但是当我查看邮件时,我没有收到邮件..有人可以帮忙吗?我的代码:

<?php

// $EmailFrom = "ME";
$EmailTo = "My_amail_adress";
$Subject = "My_subject";
$Name = stripslashes($_POST['Name']); 
$Email = stripslashes($_POST['Email']); 
$Message = stripslashes($_POST['Message']); 

//setup the email
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

$success = mail($EmailTo, $Subject, $Body); //"From: <$EmailFrom>"

if ($success) {
    echo "Email send";
}
else{
    echo "Error, please try again";
}

?>

最佳答案

您的本地主机中是否配置了 SMTP 服务器?

您可以使用 sendmail 包从本地主机发送邮件,sendmail 包内置在 XAMPP 中。因此,如果您使用 XAMPP,那么您可以轻松地从本地主机发送邮件。

例如,您可以配置 C:\xampp\php\php.ini 和 c:\xampp\sendmail\sendmail.ini 让 gmail 发送邮件。

在 C:\xampp\php\php.ini 中找到 extension=php_openssl.dll 并删除该行开头的分号,以使 SSL 适用于本地主机的 gmail。

在php.ini文件中找到[邮件功能]并更改

SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2a4753074d474b434607434e6a4d474b434604494547" rel="noreferrer noopener nofollow">[email protected]</a>
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

现在打开 C:\xampp\sendmail\sendmail.ini。将sendmail.ini中的所有现有代码替换为以下代码

[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="442531302c1b313721362a25292179293d692329252d28692d20042329252d286a272b29" rel="noreferrer noopener nofollow">[email protected]</a>
auth_password=my-gmail-password
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2c4a435e4f49735f494248495e114155014b414d45400145486c4b414d4540024f4341" rel="noreferrer noopener nofollow">[email protected]</a>

现在你已经完成了!创建具有邮件功能的php文件并从本地主机发送邮件。

PS:不要忘记替换上面代码中的 my-gmail-id 和 my-gmail-password 。另外,如果您从上面复制了设置,请不要忘记删除重复的键。例如,如果 php.ini 文件中存在另一个 sendmail_path ,请注释以下行:sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"

关于PHP 电子邮件不会发送到我的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23103677/

相关文章:

javascript - laravel 中的 Jquery 变量到 php 变量

php - 如何使用 html 和 php 创建一个收集日期的表单

用于 SSL 证书验证的 PHP 程序

javascript - Jquery-nice-select 插件无法正常工作

jquery - 奇怪的 jQuery 变量传递行为

java - Android 表单作为 Activity

css - 单击表单单选按钮时,Edge 将整个 HTML 元素移出屏幕左侧?

php - 联系表格直接使用 php 给自己发电子邮件

电子邮件签名中的 HTML 调整图像

c# - 如何在 ASP.NET 中发送亚洲字符集纯文本电子邮件?