PHP imap通过代理

问题描述 投票:0回答:1

在php上通过代理工作imap有什么解决方案吗?如果我可以使用fsockopen并通过代理使用imap,那将会很棒。如何通过代理连接到imap?如何登录,发送命令?我看了所有的网络,没有找到任何解决方案。这个主题确实缺乏足够的信息。非常感谢任何可以提供帮助的人!

php proxy imap
1个回答
1
投票
$ch = curl_init("imaps://imap.server.com:993/INBOX;UID=1");

curl_setopt_array($ch,[
    CURLOPT_HEADER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_USERNAME => '[email protected]',
    CURLOPT_PASSWORD => 'password',
    CURLOPT_PROXYTYPE => CURLPROXY_SOCKS5,
    CURLOPT_PROXY => "proxy-ip-addr:proxy-port"
]);

$content = curl_exec( $ch );
curl_close($ch);
echo $content;

这是如何从收件箱中获取消息#1的示例。可以使用CURLOPT_CUSTOMREQUEST选项发送非GET IMAP命令。例如,要删除消息:

$ch = curl_init("imaps://imap.server.com:993/INBOX;UID=1");

curl_setopt_array($ch,[
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_HEADER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_USERNAME => '[email protected]',
    CURLOPT_PASSWORD => 'password',
    CURLOPT_PROXYTYPE => CURLPROXY_SOCKS5,
    CURLOPT_PROXY => "proxy-ip-addr:proxy-port"
]);

$content = curl_exec( $ch );
curl_close($ch);
© www.soinside.com 2019 - 2024. All rights reserved.