【问题标题】:Why is my mail function not working in XAMMP? [duplicate]为什么我的邮件功能在 XAMPP 中不起作用? [复制]
【发布时间】:2015-09-26 18:11:28
【问题描述】:

我一直在尝试使用 XAMPP 来完成这项工作,但由于某种原因邮件功能不起作用,这是我的代码。我在 MAC 中,我的 php.ini 在 etc 文件夹中,但我没有 sendmail 文件夹。

$_POST['email'];

$result = mail('someEmail@gmail.com', 'This is a Subject', 'This is the body of the email', 'From: $email');
echo $result ? 'Sent' : 'Error';

【问题讨论】:

标签: php mysql email


【解决方案1】:

你不能直接从本地主机。一种方法是将您的代码移动到公共服务器,或者如果您想在本地主机上工作,则使用一些 SMTP 服务器。 您应该对这两个文件 xampp\php\php.inixampp\sendmail\sendmail.ini

进行一些更改

php.ini文件中搜索并找到【邮件功能】并使其看起来像这样

SMTP=smtp.gmail.com
smtp_port=465
sendmail_from = YOUR_MAIL@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

现在在 sendmail.ini 中确保它看起来像这样

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=465
error_logfile=error.log
debug_logfile=debug.log
auth_username=YOUR_MAIL@gmail.com
auth_password=YOUR_MAIL_PASS
force_sender=YOUR_MAIL@gmail.com

现在确保在 php.ini

extension=php_openssl.dll

未注释。如果还有另一个 sendmail_path ,请确保在下面的行中添加注释

sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"

如果一切正常,您将使用 google gmail 从本地主机发送邮件。所以接收者会在 FROM 字段中看到你的 gmail

【讨论】:

  • 我在 MAC 中重要吗?
  • 不,我想。只是 .ini 文件的路径可能不同。
  • 我的 php.ini 在 etc 文件夹中,但我在任何地方都找不到 sendmail 文件夹。顺便说一句,我尝试了我的实时服务器,我发布的原始邮件功能也没有。
  • 这个video 可能对你有用。
  • 感谢 Petko 和朋友们,我所要做的就是在 sendmail_path 中设置路径,即使我从未收到电子邮件,mail() 错误也消失了,它说已发送 :)跨度>
【解决方案2】:

当您将此代码上传到服务器并向用户发送电子邮件时,电子邮件功能将正常工作。

试试这段代码,它在放入服务器上的文件时可以完美运行:

<?php
$to = "xyz@somedomain.com";
$subject = "This is subject";
$message = "This is simple text message.";
$header = "From:abc@somedomain.com \r\n";
$retval = mail ($to,$subject,$message,$header);
if( $retval == true )  
{
  echo "Message sent successfully...";
}
else
{
  echo "Message could not be sent...";
}
?> 

【讨论】:

  • 谢谢,我试过了,还是不行!
猜你喜欢
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 1970-01-01
  • 2019-03-27
  • 2018-06-10
  • 1970-01-01
  • 2010-12-21
相关资源
最近更新 更多