为什么邮件函数停止php脚本而不是发送邮件?

为什么邮件函数停止php脚本而不是发送邮件?,php,email,smtp,localhost,Php,Email,Smtp,Localhost,我试图调用mail函数,但每当我将其放入脚本中时,页面都不会加载 我的php.ini文件在XAMPP中有以下代码: [mail function] ; For Win32 only. ; http://php.net/smtp SMTP=localhost ; http://php.net/smtp-port smtp_port=80 auth_username = XX_MYEMAIL_XX auth_password = XXXXX_MYPASSWORD_XX 我有一台64位计算机,但有一

我试图调用mail函数,但每当我将其放入脚本中时,页面都不会加载

我的
php.ini
文件在XAMPP中有以下代码:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP=localhost
; http://php.net/smtp-port
smtp_port=80
auth_username = XX_MYEMAIL_XX
auth_password = XXXXX_MYPASSWORD_XX
我有一台64位计算机,但有一条错误消息说它缺少来自的sendmail\u,所以我给了这个变量一个值。我在XAMPP上运行Mercury,但我不知道是否配置了需要配置的内容

我得到以下错误

mail():无法在“localhost”端口80连接到mailserver,请验证php.ini中的“SMTP”和“SMTP_端口”设置或使用ini_集()

我使用了以下php代码:

<?php     
$header = "From: varunsingh87@yahoo.com";
$to_email = 'VSpoet49@gmail.com';
$subject = 'Testing PHP Mail';
$message = 'This mail is sent using the PHP mail function';
if (mail($to_email, $subject, $message)) {
 echo "<p>Email sent!</p>";
} else {
 echo "<p>Email not sent.</p>";
}
?>

下面是默认的html标记


更新

我从中删除了
sendmail\u,并将
smtp\u端口
设置为25

邮件():错误消息返回路径i


相关的

让我们了解一下这个符号,但要注意可能存在虚假的返回状态

不过,人们通常会先试试这个

让我们了解一下这个符号,但要注意可能存在虚假的返回状态

不过,人们通常会先试试这个


学习如何使用PhpMailer,不要弄乱这个令人尴尬的邮件功能

使用该类,您将发送所有具有或不具有授权的消息,以及具有或不具有tls/ssl和附件(文件、图像)的消息

!!!首先在本地主机上安装smtp服务器:hmailserver

并创建您的域电子邮件邮箱


问候

学习如何使用PhpMailer,不要弄乱这个令人尴尬的邮件功能

使用该类,您将发送所有具有或不具有授权的消息,以及具有或不具有tls/ssl和附件(文件、图像)的消息

!!!首先在本地主机上安装smtp服务器:hmailserver

并创建您的域电子邮件邮箱


首先,我从未听说邮件服务器在端口80上侦听。 我也安装了XAMPP,但配置了“smpt_port=25”

其次,您有“SMTP=localhost”,所以为了发送电子邮件,您必须在您的计算机上安装邮件服务器,例如来自XAMPP包的“Mercury”

第三,使用“mail()”函数(身份验证、垃圾邮件检测等)正确发送电子邮件可能非常棘手,所以最好的解决方案是避免使用“mail()”函数,并为此使用一些强大的库/组件/脚本


Baranix建议您学习如何使用PhpMailer或(我最喜欢的)并将其配置为针对真实主机上配置良好的真实邮件服务器。

首先,我从未听说邮件服务器在端口80上侦听。 我也安装了XAMPP,但配置了“smpt_port=25”

其次,您有“SMTP=localhost”,所以为了发送电子邮件,您必须在您的计算机上安装邮件服务器,例如来自XAMPP包的“Mercury”

第三,使用“mail()”函数(身份验证、垃圾邮件检测等)正确发送电子邮件可能非常棘手,所以最好的解决方案是避免使用“mail()”函数,并为此使用一些强大的库/组件/脚本



Baranix建议您学习如何使用PhpMailer或(我最喜欢的)并将其配置为针对真实主机上配置良好的真实邮件服务器。

您没有在本地主机上运行邮件守护程序。@Barmar什么是守护程序?错误表明它无法连接到端口。因此,请确保邮件服务器(即守护进程)在端口80上运行和侦听。但是在端口80上运行SMTP有点奇怪。。。80通常默认为http。@Nic3500您是对的。我更新了它。您没有在本地主机上运行邮件守护程序。@Barmar什么是守护程序?错误表明它无法连接到端口。因此,请确保邮件服务器(即守护进程)在端口80上运行和侦听。但是在端口80上运行SMTP有点奇怪。。。80通常默认为http。@Nic3500您是对的。我更新了它。我更新了2。我运行Mercury,但我不知道我是否配置了Mercury 3。我理解这一点,但这并不意味着
mail()
函数不应该工作,对吗?对不起,我从未使用过Mercury。如果“SMTP”和“SMTP_端口”设置不正确,“mail()”函数将不起作用,邮件服务器必须位于该位置并在该端口进行侦听。1。我更新了2。我运行Mercury,但我不知道我是否配置了Mercury 3。我理解这一点,但这并不意味着
mail()
函数不应该工作,对吗?对不起,我从未使用过Mercury。如果“SMTP”和“SMTP_端口”设置不正确,“mail()”功能将无法工作,邮件服务器必须位于该位置并在该端口侦听。这与我的问题有什么关系?没关系,但这根本不是我要找的。我知道,但我不使用内部邮件功能。更重要的是,要有完整的代码。此函数抛出一个未捕获的错误。我将尽我所能帮助解决问题。我的整个问题都是关于成功发送电子邮件……这与我的问题有什么关系?没关系,但这根本不是我想要的。我知道,但我不使用内部邮件功能。更重要的是,要有完整的代码。此函数抛出一个未捕获的错误。我将尽我所能帮助解决问题。我的全部问题是关于成功发送电子邮件。。。