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

Posted

技术标签:

【中文标题】PHP 电子邮件不会发送到我的电子邮件【英文标题】:PHP email won't send to my email 【发布时间】:2014-05-30 23:39:21 【问题描述】:

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

当我在我的本地主机(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";


?>

【问题讨论】:

您是否在本地主机上设置了电子邮件? @putvande 是什么意思?? 您指定了邮件服务器吗? 默认情况下,您的本地主机无法发送电子邮件,您需要先进行设置。尝试谷歌搜索“电子邮件本地主机” 如前所述,您需要在本地系统上配置 sendmail。使用 Mandrill 或 Mailgun 可以轻松发送电子邮件,优点是您可以登录并跟踪已发送消息的状态以及其他事情。 【参考方案1】:

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

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

例如,您可以配置 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 = 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"

【讨论】:

【参考方案2】:

如果你在localhost工作,默认不能发送邮件,你需要配置sendmail

Try this tutorial

【讨论】:

这只是一个链接。你能提供更多细节吗?

以上是关于PHP 电子邮件不会发送到我的电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

如果我需要从gmail回复到我的php网站该怎么办?

为啥我的 php 没有将我的联系表单输入发送到我的电子邮件?

为啥我的提交按钮不能将信息发送到我想要的电子邮件? (PHP)

使用 Zend Framework 和 PHP 发送电子邮件

一种更灵活的 PHP 发送电子邮件方式

我的网络表单没有链接到我的电子邮件 [重复]