使用我的代码发送和接收电子邮件时遇到一些问题..
当我在我的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";
}
?>
答案 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