在 Windows 上,如何使与“imap.gmail.com”和“smtp.gmail.com”的任何连接都使用特定的网络接口?

在 Windows 上,如何使与“imap.gmail.com”和“smtp.gmail.com”的任何连接都使用特定的网络接口?

经过多年的搜索、询问和希望,我现在已经 100% 放弃了在 PHP 中为 imap_open() 和 PHPMailer 指定此功能的想法。它们根本没有此功能,也没有设置 SOCKS 服务器的功能。所以我必须在我的操作系统中执行此操作,或者至少在 PHP 之外执行此操作。

在 Windows 10 上,如何让到“imap.gmail.com”和“smtp.gmail.com”的任何网络连接使用网络接口“123.123.123.123”而不是“默认路由”?

理想情况下,我希望将其作为单个命令行命令,以便我可以自动化/集成它,并且永远不必为将来的安装考虑它。如果有一个命令可以轻松反转/清除这些规则,那就更好了。

答案1

“imap.gmail.com”和“smtp.gmail.com”都被路由到 IP 地址 74.125.140.108(不能保证将来不会改变)。

你应该使用 路由命令 从指定的网络适配器通过网关路由该 IP 地址。

如果另一个适配器是默认网关(IP 0.0.0.0),并且您不想通过确保它不为 的 IP 提供服务来禁用它74.125.140.108,那么请为您创建的路由指定一个低于默认路由的度量0.0.0.0(较低的度量意味着更高的优先级)。通常不使用度量1​​,因此很容易让您的路由具有最高优先级。

例如:要添加一条网关为 的路由192.168.12.1

route add 74.125.140.108 mask 255.255.255.0 192.168.12.1 1

在某些情况下,您可能需要添加上述ip参数来强制使用网络接口。有关详细信息,请参阅文档。

相关内容