Php 如何获取每封电子邮件的唯一id?

Php 如何获取每封电子邮件的唯一id?,php,zend-framework,zend-framework2,Php,Zend Framework,Zend Framework2,我需要帮助才能获得每封电子邮件的唯一id 这是我的代码: $config = array('host'=> 'smtp.gmail.com', 'user' => 'user', 'password' => 'pass', 'ssl' => 'SSL'); $mail = new Zend\Mail\Storage\Imap($config); $a=0; foreach ($mail as $mens

我需要帮助才能获得每封电子邮件的唯一id

这是我的代码:

$config = array('host'=> 'smtp.gmail.com',
        'user' => 'user',
        'password' => 'pass',
        'ssl' => 'SSL');


   $mail = new Zend\Mail\Storage\Imap($config);
   $a=0;
   foreach ($mail as $mensaje) {
      $a++;
      $id=$mail->getUniqueId($a);
      $idx=$mail->getNumberByUniqueId($id);
      echo "<a href='../Contenido/contenido?Id=$idx'> {$mensaje->from}: {$mensaje->subject}-  Key - {$mail->key()} </a>  <br>";

    }
$config=array('host'=>'smtp.gmail.com',
“用户”=>“用户”,
“密码”=>“通过”,
“ssl”=>“ssl”);
$mail=new-Zend\mail\Storage\Imap($config);
$a=0;
foreach($mensaje的邮件){
$a++;
$id=$mail->getUniqueId($a);
$idx=$mail->getNumberByUniqueId($id);
回声“
”; }

但是不要给我带唯一的id。

看起来您在这里得到了消息id

$id=$mail->getUniqueId($a);
但是,您正在使用检索到的唯一ID来获取消息编号(您已经拥有了$a


变量$id应该包含唯一的id,而$idx是不必要的。

您是否转义了
$mensaje->subject
?似乎不考虑如果包含开口角括号会发生什么。