gpt4 book ai didi

php - 使用代码通过 IMAP 将标签附加到 Gmail 中的邮件

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:55:32 25 4
gpt4 key购买 nike

关于 Gmail 标签 - 它们在技术上是什么意思。我的意思是通过 imap 连接我可以访问 gmail 邮箱并浏览电子邮件但是假设我希望创建一个标签并将其附加到电子邮件,因为我使用代码循环浏览它们 - 我如何在代码中做到这一点?我正在使用 php - 和 Zend Framework。

编辑===

感谢您的回复,现在很清楚标签在这方面被视为文件夹,但是我已经尝试了 Zend_Mail_Storage_Imap 类函数并获得了有趣的结果。如果我尝试 Zend_Mail_Storage_Imap:moveMessage 函数 - 它会从任何地方删除消息并在其上附加一个标签,这意味着如果我想在我的消息上附加一个标签 foo 它会从收件箱中删除它并附加标签 foo。但是,如果我使用 Zend_Mail_Storage_Imap::copyMessage 就可以了。

但是我想知道这不是真的复制了消息,而您最终在这里得到了不止一条重复消息吗?

另外,如果我需要选择所有附加有特定标签的邮件,或者在本例中为特定文件夹中的所有邮件,该怎么办?

最佳答案

回复:关于 Gmail 标签 - 从技术上讲,它们是什么。

由于 IMAP 没有“标签”的概念,因此在 GMail“标签”和 IMAP“文件夹”之间或多或少存在一个映射 Here是我在上面找到的最好的文档。但真正帮助我创建与 GMail 的程序化 IMAP 交互的是实验。

例如,预设标签的 IMAP 文件夹名称为

Human name -- IMAP Folder name
Drafts -- [Gmail]/Drafts
Sent Mail -- [Gmail]/Sent Mail
Spam -- [Gmail]/Spam
Starred -- [Gmail]/Starred
Trash -- [Gmail]/Trash

添加--

回复:创建一个标签并将其附加到电子邮件,因为我使用代码循环浏览电子邮件 - 我如何在代码中执行此操作?

要创建标签,请使用 Imap 的“创建文件夹”操作。

使用 Imap 复制操作为消息添加标签。

要从 GMail 收件箱中删除邮件,我 90% 确定您添加了 IMAP 标志“已删除”。 -- 但请先试验一下。当您设置 deleted 标志时,我不清楚删除了哪些标签。在我的测试中,当我应用已删除标志时,邮件只有 1 个标签(收件箱)。

这是我用来将 GMail 邮件从收件箱移动到垃圾箱的代码:

# Ruby code...
imap.store(message_id, "+FLAGS", [:Deleted]) # rm inbox label
imap.copy(message_id, "[Gmail]/Trash") # add trash label

关于php - 使用代码通过 IMAP 将标签附加到 Gmail 中的邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2455266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com