使用imap_header的PHP功能时在浏览器上显示"Server Error"

"Server Error" displayed on the browser when using the PHP function of imap_header

总结

我尝试读取邮箱中第一封信的信息。假设 "mail.example.com" 是我的邮件服务器站点,"userid" 是我的电子邮件地址,"userpwd" 是我的密码。下面是 PHP 代码。

<?php
$num=1;         //To read the first letter

$MAILSERVER="{mail.example.com:143/notls}INBOX";
$link=imap_open($MAILSERVER,"userid","userpwd");
$header=imap_header($link,$num);

echo "From: $header[fromaddress]<br>";
echo "To: $header[toaddress]<br>";
echo "Date: $header[Date]<br>";
echo "Subject: $header[Subject]<br><br>";
echo imap_body($link,$num);

imap_close($link);
?>

问题

我有两个问题:

  1. 根据上面的PHP代码,为什么输出结果是"Server Error"?
  2. 为什么我们不在第 4 行添加“/notls”,为什么 $link 没有 return 值?

试试这个。您正在使用无效的数组索引

$MAILSERVER="{mail.example.com:143/notls}INBOX";
$link=imap_open($MAILSERVER,"userid","userpwd");
$header=imap_header($link,$num);

echo "From:". $header['fromaddress']."<br>";
echo "To:". $header['toaddress']."<br>";
echo "Date:".$header['Date']."<br>";
echo "Subject:". $header['Subject']."<br><br>";
echo imap_body($link,$num);

imap_close($link);
?>