无法连接到“localhost”的邮件服务器端口25

发布于 2024-10-09 01:07:30 字数 676 浏览 2 评论 0原文

当我尝试用 PHP 发送电子邮件时,我不断收到此错误:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\dressoholic\register.php on line 50

我的 php.ini 如下所示:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]

我正在使用我的笔记本电脑作为服务器。我做错了什么?谢谢。

I keep getting this error when I try to send an e-mail in PHP:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\dressoholic\register.php on line 50

my php.ini looks like this:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]

I'm using my laptop as a server.. What am I doing wrong? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

柠檬色的秋千 2024-10-16 01:07:30

您需要在本地运行邮件服务器。
如果这是 Unix,请启用 sendmail
如果是 Windows,请安装 II 的简单邮件传输服务器(不确定名称是否正确)组件。例如,对于 Windows 2003,请遵循以下步骤:http://msdn.microsoft.com/en-我们/library/8b83ac7t.aspx

You need to be running a mail server locally.
If this is Unix, enable sendmail
If this is Windows install the Simple Mail Transfer Server (not sure if the name is correct) component of IIs. E.g. for windows 2003 follow this: http://msdn.microsoft.com/en-us/library/8b83ac7t.aspx

烦人精 2024-10-16 01:07:30

使用php邮件功能发送邮件。
但邮件功能需要SMTP服务器来发送电子邮件。
我们需要在 php.ini 文件中提及 SMTP 主机和 SMTP 端口。
成功配置 SMTP 服务器后,邮件将通过 php 脚本成功发送。

For sending mails using php mail function is used.
But mail function requires SMTP server for sending emails.
we need to mention SMTP host and SMTP port in php.ini file.
Upon successful configuration of SMTP server mails will be sent successfully sent through php scripts.

甜宝宝 2024-10-16 01:07:30

在 Windows 上,几乎所有 AMPP(Apache、MySQL、PHP、PHPmyAdmin)软件包都不包含邮件服务器(但几乎所有裸露 Linux 都有!)。所以,在windows下使用PHP时,需要设置邮件服务器!

我认为最好和最简单的工具是这样的: http://smtp4dev.codeplex.com/

SMTP4Dev 是一个简单的单文件邮件服务器收集其发送的邮件的工具(因此它并不真正发送邮件,它只是保留它们以供开发)。完美的工具。

On windows, nearly all AMPP (Apache,MySQL,PHP,PHPmyAdmin) packages don't include a mail server (but nearly all naked linuxes do have!). So, when using PHP under windows, you need to setup a mail server!

Imo the best and most simple tool ist this: http://smtp4dev.codeplex.com/

SMTP4Dev is a simple one-file mail server tool that does collect the mails it send (so it does not really sends mail, it just keeps them for development). Perfect tool.

只等公子 2024-10-16 01:07:30

如果您仅在本地主机上运行应用程序并且它尚未上线,我相信使用它发送邮件是非常困难的。

一旦你把你的申请放到网上,我相信这个问题应该会自动解决。但我认为 ini_set() 可以帮助您在运行时更改 php.ini 中的值。

If you are running your application just on localhost and it is not yet live, I believe it is very difficult to send mail using this.

Once you put your application online, I believe that this problem should be automatically solved. But i think ini_set() helps you to change the values in php.ini during run time.

你穿错了嫁妆 2024-10-16 01:07:30

首先,您不必在本地主机上使用 SMTP,如果您将该本地主机条目更改为来自 ISP 提供商(允许您中继邮件)的 MTA 的 DNS 名称,它将立即起作用,所以不需要搞乱你自己的电子邮件服务。只需尝试使用您的提供商的 SMTP 服务器,它就会立即工作。

First of all, you aren't forced to use an SMTP on your localhost, if you change that localhost entry into the DNS name of the MTA from your ISP provider (who will let you relay mail) it will work right away, so no messing about with your own email service. Just try to use your providers SMTP servers, it will work right away.

郁金香雨 2024-10-16 01:07:30

PHP邮件函数可以在2种情况下发送电子邮件

:尝试通过unix sendmail程序发送电子邮件
在linux中,它将执行程序“sendmail”,将所有参数放入sendmail等等。

b.连接到邮件服务器(使用 php.ini 中的 smtp 协议和主机/端口/用户名/密码)并尝试发送电子邮件。

如果 php 无法连接到电子邮件服务器,它将发出警告(并且您在日志中看到这样的工作)
要解决此问题,请在本地计算机上安装 smtp 服务器或使用任何可用的服务器。如何设置/配置 smtp 您可以在 php.net 上找到

PHP mail function can send email in 2 scenarios:

a. Try to send email via unix sendmail program
At linux it will exec program "sendmail", put all params to sendmail and that all.

OR

b. Connect to mail server (using smtp protocol and host/port/username/pass from php.ini) and try to send email.

If php unable to connect to email server it will give warning (and you see such workning in your logs)
To solve it, install smtp server on your local machine or use any available server. How to setup / configure smtp you can find on php.net

梦与时光遇 2024-10-16 01:07:30

将 SMTP=localhost 更改为 SMTP=smtp.gmail.com

Change SMTP=localhost to SMTP=smtp.gmail.com

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文