gpt4 book ai didi

php - 使用代理 IP 地址从 PHPMailer 发送电子邮件

转载 作者:可可西里 更新时间:2023-11-01 12:36:06 25 4
gpt4 key购买 nike

我需要从 PHPMailer 发送邮件 使用代理 IP 地址,我知道要这样做,我需要使用 fsockopen 函数以便我可以连接到 SMTP 帐户,我也知道如果我必须连接到代理我必须使用 fsockopen再次发挥作用。但是在另一个 fsockopen 中使用它 fsockopen 是不可行的。

我有透明代理,不需要身份验证。我需要将其发送到外部电子邮件服务提供商的远程 SMTP 服务器。

我试过的代码:

<?php

//SMTP params
$server = 'smtp.espdomain.com';
$server_port = '25';
$username = 'smtp_login';
$password = 'smtp_pass';

//Proxy
$proxy = '1.1.1.1';
$proxy_port = 1111;

//Open connection
$socket = fsockopen($proxy, $proxy_port);

//Send command to proxy
fputs($socket, "CONNECT $server:$server_port HTTP/1.0\r\nHost: $proxy\r\n\r\n");
fgets($socket, 334);

//SMTP authorization
fputs($socket, "AUTH LOGIN\r\n");
fgets($socket, 334);

fputs($socket, base64_encode($username)."\r\n");
fgets($socket, 334);

fputs($socket, base64_encode($password)."\r\n");
$output = fgets($socket, 235);

fputs($socket, "HELO $server \r\n");
$output = fgets($socket, 515);

?>

它不起作用我不确定为什么?

socat 命令能否在这种情况下提供帮助,或者是否有任何解决方案或替代解决方案来实现这一目标?

最佳答案

我终于找到了使用 socat 的解决方案,请按照以下步骤操作:

  1. 首先,您需要安装 socat在服务器上,您只需使用以下命令即可完成此操作:

    yum install socat
  2. 然后运行以下 socat将绑定(bind) PROXY_IP:PORT 的命令 HOST_ESP:PORT :

    socat TCP4-LISTEN:proxy_port,bind=proxy_IP,fork,su=nobody TCP4:host:port,bind=proxy_IP
  3. 然后不是通过 HOST_ESP:PORT 发送给ESP 你可以使用 PROXY_IP:PORT 来实现socat将自动重定向到 HOST_ESP:PORT 使用 PROXY_IP:PORT 的输出.

希望这对您有所帮助。

关于php - 使用代理 IP 地址从 PHPMailer 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36137999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com