gpt4 book ai didi

php - 为什么 php 的 imap_open() 不像 SSL?

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:21 24 4
gpt4 key购买 nike

可能不是一个很有帮助的问题,但我无法想象这个问题没有明确的答案。我刚刚通过一些关于 imap_open() 连接问题的已经回答的问题发现,当连接到 SSL 服务器时,该函数很可能会返回错误。所以我只是想知道,PHP 使用 SSL 的问题是什么?

使用此连接字符串返回错误:

function connect($host, $port, $login, $pass){

$this->server = $host;
$this->username = $login;

$this->link = imap_open("{". $host .":". $port."}INBOX", $login, $pass);
if($this->link) {
$this->status = 'Connected';
} else {
$this->error[] = imap_last_error();
$this->status = 'Not connected';
}
}

虽然这个连接没有问题:

function connect($host, $port, $login, $pass){

$this->server = $host;
$this->username = $login;

$this->link = imap_open("{". $host .":". $port."/imap/ssl/novalidate-cert}INBOX", $login, $pass);
if($this->link) {
$this->status = 'Connected';
} else {
$this->error[] = imap_last_error();
$this->status = 'Not connected';
}
}

最佳答案

如果服务器需要加密连接,则意味着您正在连接到加密端口,如果您不使用 /ssl(根本不会连接),您的脚本将失败。

服务器也可能接受明文连接然后要求加密(参见 STARTTLS ),但我猜它会连接然后发送 IMAP 错误。

这可以通过您连接的端口和您的邮件服务器规范来检查。通常分配端口 465/993 以使用加密的 TLS/SSL 连接,而 25/143/587 可能会接受未加密的连接,然后要求升级。

关于php - 为什么 php 的 imap_open() 不像 SSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35104615/

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