德尔福 - Indy - 保存GMail草案

Jur*_*Jur 6 delphi gmail smtp indy gmail-api

我一直在Delphi下使用Indy通过gmail帐户发送消息,使用TIdSMTP和TIdMessage组件.这绝对没问题.

但是,我的客户端已请求将消息保存到DRAFTS文件夹,以允许他在实际发送之前对(编程创建的)消息进行更改.

GMail API应该支持这个,但提供的示例不是Delphi/Indy格式...我正在寻找最小的编程更改,所以我想知道是否有可能在Indy组件中?TIdMessage允许使用"mfDraft"标志,但这不会阻止在使用IdSMTP1时立即发送消息.发送

Rem*_*eau 3

SMTP 没有草稿的概念。您必须改用 IMAP。

用于TIdIMAP4登录 GMail 帐户,调用其SelectMailBox()方法选择草稿文件夹,然后调用其AppendMsg...()方法之一以根据需要将电子邮件草稿存储到该文件夹​​中。

如果您想在发送草稿之前对其进行更改,则必须从文件夹中检索当前草稿(或Retrieve...()方法之一UIDRetrieve...())并根据需要进行编辑,然后从文件夹中删除当前草稿(或DeleteMsgs()方法UIDDeleteMsg()) ,并将新草稿附加到文件夹中。

要实际发送草稿,您必须从草稿文件夹中检索并删除它,然后使用 SMTP 发送它。