经过多年的搜索、询问和希望,我现在已经 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
参数来强制使用网络接口。有关详细信息,请参阅文档。