从localhost发送电子邮件

时间:2011-01-04 16:08:35

标签: php email localhost

我在Windows上使用WampServer来测试网站。我有一个注册系统,用户可以收到确认电子邮件。

是否可以从本地主机发送电子邮件?

5 个答案:

答案 0 :(得分:5)

如果要直接从localhost发送电子邮件,则需要安装邮件传输代理(MTA),或者如果您愿意,还需要安装SMTP服务。

IIS提供了一个。您可以找到其他人on Google

您还可以更改php.ini mail settings。这不会每次使用localhost来发送电子邮件,而是使用允许您从PHP脚本发送电子邮件的中继主机。

答案 1 :(得分:2)

除非您在其上安装SMTP服务器。我认为XAMPP包括一个,但你最好只使用现有的外部服务器。您可以使用php.ini SMTP设置进​​行设置。

答案 2 :(得分:2)

我实际上只是在前几天使用fake sendmail进行设置。

实际上很容易设置。我找到了this tutorial to be helpful

还有其他选择,但这对我使用Gmail非常有用。

我可以在PHP中使用mail()函数而不会出现问题。我还没有解决的一个问题是,电子邮件似乎总是来自我的Gmail地址,而不是我在mail()参数中提供的任何内容。我相信这可能是Gmail功能,但不是sendmail问题。

答案 3 :(得分:1)

这很简单。 (为方便起见,修改语法)

public $smtp = array(
    'transport' => 'Smtp',
    'from' => 'your_email@gmail.com',
    'host' => 'ssl://smtp.gmail.com',
    'port' => 465,
    'timeout' => 30,
    'username' => 'your_email@gmail.com',
    'password' => '*****'
)

答案 4 :(得分:0)

我发现在Windows中创建邮件服务器的最简单方法是安装Python,然后将内置的SMTP调试服务器与以下代码一起使用:

python -m smtpd -c DebuggingServer -n localhost:25

在Windows上,我发现它有时在localhost和127.0.0.1中具有奇怪的行为,因此,如果所有其他方法均失败,则可以尝试使用“ ipconfig”命令(在DO​​S命令提示符下)找到IP地址,然后可能会看到类似的内容:

c:\> ipconfig

-- stuff cut here ---

Wireless LAN adapter WiFi:

Connection-specific DNS Suffix  . :
Link-local IPv6 Address . . . . . : fe80::856d:fd33:3e01:e656%9
IPv4 Address. . . . . . . . . . . : 192.168.8.111
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.8.1

,假设您发现ip地址为192.168.8.11(就像我在上面的示例中所做的一样),然后将命令更改为:

python -m smtpd -c DebuggingServer -n 192.168.8.11:25

并在php.ini文件中设置以下几行:

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

而且,这在我无能为力的场合对我有用!

我还注意到您可以通过键入以下命令来检查本地邮件服务器是否正常工作:

C:/> telnet localhost 25

或者是我的第二种配置:

C:/> telnet 192.168.8.111 25

Telnet在Linux上是免费提供的,但要在Windows上获得它,您必须转到“程序和功能”,然后单击“打开和关闭Windows功能”(在左侧小面板中),然后选中该框Windows功能列表中的“ Telnet客户端”。

运行telnet命令时,如果服务器未运行,您将看到类似以下内容:

C:\Projects>telnet localhost 25
Connecting To localhost...Could not open connection to the host, on port 25: Connect failed

但是,如果一切正常,则应该清除屏幕,并从邮件服务器返回“服务器标识符”字符串。在我的机器上,它看起来像:

220 ZOOT Python SMTP proxy version 0.3     

如果您真的很热衷,可以在其中键入一些SMTP命令并发送邮件,也可以键入“退出”以断开与服务器的连接。