在php上通过代理工作imap有什么解决方案吗?如果我可以使用fsockopen并通过代理使用imap,那将会很棒。如何通过代理连接到imap?如何登录,发送命令?我看了所有的网络,没有找到任何解决方案。这个主题确实缺乏足够的信息。非常感谢任何可以提供帮助的人!
答案 0 :(得分: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 => 'postbox@server.com',
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 => 'postbox@server.com',
CURLOPT_PASSWORD => 'password',
CURLOPT_PROXYTYPE => CURLPROXY_SOCKS5,
CURLOPT_PROXY => "proxy-ip-addr:proxy-port"
]);
$content = curl_exec( $ch );
curl_close($ch);