难道这个PHP imap 连接串错了?
Is this PHP imap connection string wrong?
有人可以告诉我以下代码是否有问题吗?或者如果问题与代码无关。
我似乎无法连接到邮件服务器,并且在执行代码期间它在我的 class 文件中响应 Warning: imap_open(): Couldn't open stream {imap.one.com993}INBOX
错误。并且在之前的错误下方 Notice: Unknown: Host not found (#11001): imap.one.com993 (errflg=2) in Unknown on line 0
。
class email {
public $server;
public $username;
public $password;
public $port;
public $link;
public $status;
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';
}
}
}
索引文件:
<?php
$email = new email();
$email->connect("imap.one.com", "993", "email@address.com", "passwordString");
?
主机和端口之间需要一个冒号 (:
),因为您需要 {imap.one.com:993}INBOX
,而不是 {imap.one.com993}INBOX
。像这样修复它:
$this->link = imap_open("{". $host . ":" . $port."}INBOX", $login, $pass);
你漏掉了冒号:
imap_open("{". $host .":". $port."}INBOX", $login, $pass);
没有它,PHP 会认为主机是 "imap.one.com993",而且显然无法通过 DNS 检查。
有人可以告诉我以下代码是否有问题吗?或者如果问题与代码无关。
我似乎无法连接到邮件服务器,并且在执行代码期间它在我的 class 文件中响应 Warning: imap_open(): Couldn't open stream {imap.one.com993}INBOX
错误。并且在之前的错误下方 Notice: Unknown: Host not found (#11001): imap.one.com993 (errflg=2) in Unknown on line 0
。
class email {
public $server;
public $username;
public $password;
public $port;
public $link;
public $status;
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';
}
}
}
索引文件:
<?php
$email = new email();
$email->connect("imap.one.com", "993", "email@address.com", "passwordString");
?
主机和端口之间需要一个冒号 (:
),因为您需要 {imap.one.com:993}INBOX
,而不是 {imap.one.com993}INBOX
。像这样修复它:
$this->link = imap_open("{". $host . ":" . $port."}INBOX", $login, $pass);
你漏掉了冒号:
imap_open("{". $host .":". $port."}INBOX", $login, $pass);
没有它,PHP 会认为主机是 "imap.one.com993",而且显然无法通过 DNS 检查。