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

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

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

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

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

解决了

Hotmail(令人惊讶)提供免费中继服务。我希望当我测试这个时这对我有用!但外部邮件服务器是最佳选择。

有帮助吗?

解决方案

确定您是否可以通过端口 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 将消息发送到内部中继。

其他提示

也许有一个(好的?)理由可以解释为什么你所在的网络被严重防火墙。

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

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

你需要一台运行邮件服务器的防火墙后面的机器。优选地,这应该是应该使用的全部。虽然应阻止其后面的所有其他内容在端口25上打开传出连接,但应该这样做。让运行应用程序的计算机上的邮件服务器通过该计算机进行中继。我在托管公司工作,这就是我们使用共享托管服务器的方式。这样,您就可以跟踪任何外发邮件,以确保防火墙后面没有任何内容做任何事情。

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

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

如果您试图绕过网络管理员,最多可能会有一个脆弱的系统。根据您的网络规则/设置,您可以设置SMTP服务器包以从网络上的其他电子邮件服务器中继邮件。这应该需要使用网络或电子邮件管理员。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top