0

我希望从我的 localhost 机器发送一封电子邮件(使用 PHP 邮件功能),但我不能这样做,因为我没有邮件服务器。此外,我需要能够通过防火墙严密的网络发送电子邮件(我还不知道到什么程度)。

我的想法是利用“QK SMTP Server 3”并让它使用我拥有的外部服务器作为“中继服务器”。这行得通吗?有更简单的选择吗?

如果我的方法没问题。我想知道如何在我的服务器上打开端口 25,以便它可以接收此请求。通过执行此命令,我得到:

[root@balder296 ~]# service iptables status
Firewall is stopped.
[root@balder296 ~]#

感谢您的任何帮助和建议。

解决了

Hotmail(令人惊讶)提供免费的中继服务。我希望这在我测试时对我有用!但是外部邮件服务器是要走的路。

4

6 回答 6

2

确定您是否可以通过端口 25 (SMTP) 连接到 Internet

  • telnet gmail-smtp-in.l.google.com 25(这是 Gmail 服务器之一)

如果您能够打开连接,您可以简单地安装一个邮件服务器并使用 mail() 函数发送消息。

  • yum install postfix(例如,根据您的“服务”评论,我假设您正在运行 Redhat 或 Centos)

如果您无法通过端口 25 连接到 Internet 邮件服务器,您可以尝试查找内部邮件中继(这取决于您的网络,您必须自己查找)。

那时你有两个选择。如果您在邮件服务器(/etc/postfix,如果您使用 Postfix)中定义了 'relay' 参数,则可以在本地邮件服务器中使用内部 mail() 函数。

另一种选择是遵循本指南并让 PHP 将消息发送到内部中继。

于 2009-05-03T22:59:53.227 回答
1

也许有一个(好的?)原因可以解释为什么您所在的网络受到严格的防火墙保护。

你为什么不问网络上的人发送邮件的好方法是什么?

于 2009-05-03T22:32:21.373 回答
0

如果您有 Google Mail 帐户,则可以使用它通过Swift Mailer发送电子邮件。

于 2009-05-03T22:35:40.663 回答
0

您需要在防火墙后面运行邮件服务器的机器。最好这应该是它应该用于的全部。虽然它后面的所有其他东西都应该被阻止打开端口 25 上的传出连接,但这个应该被阻止。让运行应用程序的机器上的邮件服务器通过该机器进行中继。我在一家托管公司工作,这就是我们使用共享托管服务器所做的事情。通过这种方式,您可以跟踪任何外发邮件,以确保防火墙后面没有人在做任何不正当的事情。

如果你问得好,你是友好的邻居系统管理员几乎肯定会设置这个。

于 2009-05-03T22:50:43.310 回答
0

如果这将用于公共应用程序,请记住,即使您可以获得 SMTP 出站访问权限,您也可能会遇到问题。反垃圾邮件保护对网络行为变得相当挑剔。例如,网络上有一个有效的 SMTP 服务器,而您设置了另一个服务器,如果它们看起来具有来自网络外部的相同 IP 地址,则可能会给两台服务器带来麻烦。一些主要的黑名单会自动阻止似乎有多个服务器的地址。

如果你试图绕过网络管理员,充其量你可能有一个脆弱的系统。根据您的网络规则/设置,您可能能够设置您的 SMTP 服务器包以将消息从网络上的另一台电子邮件服务器中继。这应该需要与网络或电子邮件管理员合作。

于 2009-05-03T23:11:10.500 回答
0

我过去使用过 SwiftMailer,然后设置了一个通用的 gmail 帐户来发送邮件。我发现的一件事是,最好将发件人地址保留为您设置的 gmail 帐户,否则垃圾邮件过滤器往往会破坏电子邮件。

于 2009-05-04T01:26:33.327 回答