我有一封测试电子邮件,主题如下:
this's is a "TEST" of "quote's"
我正在尝试找到正确的字符串来调用 IMAP SEARCH,以便它能找到该电子邮件。我遇到了麻烦,因为多词短语的语法是:
SEARCH SUBJECT "multi-word phrase"
但是,主题字符串中的双引号破坏了这一点。
我应该如何转义示例主题中的双引号以使响应不为空?
我的服务器在 CentOS 7 上运行 Dovecot,我的客户端正在使用 PHP 的 imap 调用。
答案1
您可以使用字符串文字格式(与引用格式相反)
01 SEARCH SUBJECT {21}
<Wait for server to acknowledge>
this's is a "TEST" of "quote's"
https://www.rfc-editor.org/rfc/rfc3501#section-4.3
文字是零个或多个八位字节(包括 CR 和
LF)的序列,以开括号(“{”)的形式加上八位字节数前缀引用,然后是八位字节数、闭括号(“}”)和 CRLF。对于从服务器传输到客户端的文字,CRLF 后面紧接着八位字节数据。对于从客户端传输到服务器的文字,客户端必须等待收到命令继续请求(本文档后面将对此进行介绍),然后再发送八位字节数据(以及命令的其余部分)。
答案2
当我从命令行与 Dovecot 服务器通信时,用反斜杠转义双引号返回了正确的结果:S SEARCH SUBJECT "\""
。