繁体   English   中英

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

[英]PHP email won't send to my email

我在发送和接收带有我的代码的电子邮件时遇到了一些问题。

当我在本地主机(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适用于localhost的gmail。

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

SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = my-gmail-id@gmail.com
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
auth_username=my-gmail-id@gmail.com
auth_password=my-gmail-password
force_sender=my-gmail-id@gmail.com

现在您已经完成了!! 使用邮件功能创建php文件,并从本地主机发送邮件。

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

如果您在localhost上工作,则默认情况下无法发送电子邮件,需要配置sendmail

试试这个教程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM