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

时间:2014-04-16 08:15:13

标签: php forms email xampp

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

当我在我的localhost(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";
}

?>

2 个答案:

答案 0 :(得分:3)

您是否在localhost中配置了SMTP服务器?

您可以使用sendmail包从localhost发送邮件,在XAMPP中建立sendmail包。因此,如果您正在使用XAMPP,那么您可以轻松地从localhost发送邮件。

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

在C:\ xampp \ php \ php.ini中找到extension = php_openssl.dll并从该行的开头删除分号,以使SSL为ghost for localhost工作。

在php.ini文件中找到[mail function]并更改

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文件并从localhost发送邮件。

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

答案 1 :(得分:1)

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

Try this tutorial