PHP Imap错误';从';参数
我有一个特定的请求,需要作为imap服务器连接到本地(eml)文件。这在过去已经做过,所以我知道这是可以实现的。我的代码类似于以下代码:PHP Imap错误';从';参数,php,email,imap,Php,Email,Imap,我有一个特定的请求,需要作为imap服务器连接到本地(eml)文件。这在过去已经做过,所以我知道这是可以实现的。我的代码类似于以下代码: <?php // remember original $HOME environment variable so we can set it back once we're done $home_path = getenv('HOME'); // this is needed so we can access local .eml file as m
<?php
// remember original $HOME environment variable so we can set it back once we're done
$home_path = getenv('HOME');
// this is needed so we can access local .eml file as mailbox
putenv("HOME=/var/www/test/");
// mailbox.eml is in inside /var/www/test/ which is relative to the imap at the moment
$stream = imap_open('mailbox.eml', '', '');
// check the mailbox
$MC = imap_check($stream);
// Fetch an overview for all messages in INBOX
$result = imap_fetch_overview($stream,"1:{$MC->Nmsgs}",0);
var_dump($result);exit;
有关“发件人”的信息不好。它应该说明发送邮件的地址和电子邮件地址。相反,我得到的是“用户号”-501@test".
我设法弄清楚“501”部分是我的流浪机器中的一个用户名,在这个机器上运行这个脚本。在没有流浪者的其他机器上进行了尝试,但仍然在“发件人”字段中获得了该机器的用户名
如果我连接到真正的imap服务器,我将获得此邮箱消息的正确输出,如下所示:
array(1) {
[0]=>
object(stdClass)#2 (15) {
["subject"]=>
string(14) "test test test"
["from"]=>
string(62) "=?UTF-8?B?U3LEkWFuIE1hcmphbm92acSH?= <example@example.com>"
["to"]=>
string(44) "test+example@domain.com"
["date"]=>
string(31) "Thu, 19 Nov 2015 14:50:18 +0100"
["message_id"]=>
string(68) "<CAMuB9mq5LNb33rarBtbViBx7ZdSdbgHWhPBkfRCdN+A20v5wuw@domain.com>"
["size"]=>
int(3148)
["uid"]=>
int(1)
["msgno"]=>
int(1)
["recent"]=>
int(0)
["flagged"]=>
int(0)
["answered"]=>
int(0)
["deleted"]=>
int(0)
["seen"]=>
int(1)
["draft"]=>
int(0)
["udate"]=>
int(1447944622)
}
}
数组(1){
[0]=>
对象(标准类)#2(15){
[“主题”]=>
字符串(14)“测试”
[“从”]=>
字符串(62)”=?UTF-8?B?U3LEkWFuIE1hcmphbm92acSH?=”
[“至”]=>
串(44)“测试+example@domain.com"
[“日期”]=>
字符串(31)“Thu,2015年11月19日14:50:18+0100”
[“消息id”]=>
字符串(68)”
[“大小”]=>
内部(3148)
[“uid”]=>
int(1)
[“msgno”]=>
int(1)
[“最近”]=>
int(0)
[“已标记”]=>
int(0)
[“已回答”]=>
int(0)
[“已删除”]=>
int(0)
[“看到”]=>
int(1)
[“草稿”]=>
int(0)
[“udate”]=>
国际电话(1447944622)
}
}
其他信息似乎也被“覆盖”
关于什么可能导致imap行为不端以及如何解决这一问题,您有什么想法吗
注意:PHP5.6.13-1+为了回答我自己的问题,如果有人遇到这样的问题:显然,mailbox.eml必须有一个“From”作为第一行。例如,将此行添加到mailbox.eml的顶部我的所有问题:
From MAILER-DAEMON Tue Nov 24 10:29:08 2015
From MAILER-DAEMON Tue Nov 24 10:29:08 2015