rub*_*com 1 php sockets command imap append
我尝试使用 PHP 以编程方式在 GMail 中创建草稿。
我正在使用VivOAuthIMAP库成功地通过 OAuth 进行 IMAP 登录,但该库仅支持一些获取数据的命令。我想扩展该库以支持 APPEND 命令并实现我的目的:创建草稿。
但我对这个 IMAP 东西很迷茫,我不知道如何构建有效的 IMAP APPEND 命令,我总是收到“A3 BAD 无法解析命令错误”或“A3 BAD [CLIENTBUG] 参数太多”命令:追加”。我正在尝试遵循RFC2060示例:
C: A003 APPEND saved-messages (\Seen) {310}
C: Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)
C: From: Fred Foobar <foobar@Blurdybloop.COM>
C: Subject: afternoon meeting
C: To: mooch@owatagu.siam.edu
C: Message-Id: <B27397-0100000@Blurdybloop.COM>
C: MIME-Version: 1.0
C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
C:
C: Hello Joe, do you think we can meet at 3:30 tomorrow?
C:
S: A003 OK APPEND completed
Run Code Online (Sandbox Code Playgroud)
我认为问题是我没有正确构建多行消息。例如:
这有效:
$this->writeCommannd("A" . $this->codeCounter, "APPEND \"$mailbox\" (\Seen) {$size} \"Subject: hello world\"");
Run Code Online (Sandbox Code Playgroud)
但这些不是(如果我添加空格,IMAP 会解释为新参数,并且我会得到太多参数)。
// A3 BAD [CLIENTBUG] Too many arguments for command: APPEND
$this->writeCommannd("A" . $this->codeCounter, "APPEND \"$mailbox\" (\Seen) {$size} \"Subject: hello world\" \"To: myemail@email.com\"");
// A3 BAD Could not parse command
$this->writeCommannd("A" . $this->codeCounter, "APPEND \"$mailbox\" (\Seen) {$size} \"Subject: hello world\"\r\n\"To: myemail@email.com\"");
Run Code Online (Sandbox Code Playgroud)
两件事情:
示例对话框:
C: A01 APPEND INBOX {100}\r\n
S: + go ahead\r\n
C: {message here}
Run Code Online (Sandbox Code Playgroud)
使用 LITERAL+ 扩展:
C: A01 APPEND INBOX {100+}\r\n
C: {message here}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4700 次 |
最近记录: |