Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在节点中使用IMAP将gmail部分搜索到字段不工作_Node.js_Email_Search_Imap_Gmail Imap - Fatal编程技术网

Node.js 在节点中使用IMAP将gmail部分搜索到字段不工作

Node.js 在节点中使用IMAP将gmail部分搜索到字段不工作,node.js,email,search,imap,gmail-imap,Node.js,Email,Search,Imap,Gmail Imap,根据: 在所有使用字符串的搜索键中,如果 字符串是字段的子字符串。匹配不区分大小写 然而,在使用时,gmail似乎并不尊重这一点,因为它是针对“收件人”字段进行搜索的。我还没有尝试过其他编程语言,但考虑到节点模块是如何发送命令的,我怀疑gmail本身没有考虑到与TO字段的部分匹配 正在发生的事情的简化示例: 查看原始消息时,我可以在标题中清楚地看到:myGmailUser@gmail.com. 困惑于为什么完全匹配有效,而部分匹配无效 此外,在gmail本身中,如果我搜索to:myGmail用户

根据:

在所有使用字符串的搜索键中,如果 字符串是字段的子字符串。匹配不区分大小写

然而,在使用时,gmail似乎并不尊重这一点,因为它是针对“收件人”字段进行搜索的。我还没有尝试过其他编程语言,但考虑到节点模块是如何发送命令的,我怀疑gmail本身没有考虑到与TO字段的部分匹配

正在发生的事情的简化示例:

查看原始消息时,我可以在标题中清楚地看到:myGmailUser@gmail.com. 困惑于为什么完全匹配有效,而部分匹配无效


此外,在gmail本身中,如果我搜索to:myGmail用户,它会返回消息,但如果我搜索to:myGmail,则不会返回消息。尽管我认为它将使用与IMAP不同的协议。

标准可能会说一件事,但并非每个系统都完全符合标准。我相信GMail只能搜索整个令牌。你可以通过IMAP直接连接并发出命令来验证这是否是GMail服务器的问题。我的IMAPTalk客户端是在Windows上执行此操作的一种方法:
var Imap = require('imap');

var imap = new Imap(
  user: 'myGmailUser',
  password: 'myGmailPassword',
  host: 'imap.gmail.com',
  port: 994,
  tls: true,
  tlsOptions: {rejectUnauthorized: false}
);

imap.once('ready', function() {
  imap.openBox('[Gmail]/All Mail', function(err, box) {

    imap.search(['TO','myGmail'], function(err, searchResult) {
      // no results
    });

    imap.search(['TO','myGmailUser@gmail.com'], function(err, searchResult) {
      // I get my messages as results
    });
  }
});

imap.connect();