我能使用cfimap/cfmail将电子邮件保存到已发送文件夹吗?

3
当通过我们的CRM系统发送电子邮件时,我希望在相关员工的“已发送”文件夹中放置已发送电子邮件的副本。这在Gmail / Google Apps中可以轻松完成,因为它会自动将通过其SMTP服务器发送的电子邮件存储在Sent文件夹中,但大多数邮件服务器不会像这样工作。除了将所有人迁移到Google应用程序或在每封电子邮件上将发件人抄送(BCC),我还能否有任何方法来实现此操作?
我可以使用cfimap轻松打开连接并使用cfmail发送电子邮件,但是如何将该已发送电子邮件存储到已发送文件夹中?使用cfimap可以轻松地将一个电子邮件从一个文件夹移动到另一个文件夹,但我无法弄清楚如何获取刚通过邮件服务器发送的正确消息编号并将其移动到Sent文件夹中。即使我不得不重新生成整个电子邮件然后保存它,也似乎没有类似于PHP的imap-append?
我看到在Bluedragon中有imapconnection和imapfolder选项,这将是完美的,但这些在普通的cfml中不起作用。
我已经谷歌了几天,并查看了一堆类似的SO线程。大部分都回答“将电子邮件地址放在(B)CC上”,这当然是一个选项,但我不想立即放弃我的理想解决方案。有什么想法,或者这是无路可走了吗?!

将电子邮件地址放在密送抄送列表中。你没有给出任何理由说明你所尝试的方法比这样做更好,那么为什么要增加不必要的工作呢? - Peter Boughton
他所尝试的方法比将此人抄送(bcc)更好的原因是,可以在不需要该人进行任何工作的情况下实现所需的结果。 - Dan Bracuk
有什么人需要做任何工作吗?电子邮件是通过CRM发送的,这不需要额外的工作。 - Peter Boughton
1
额外的工作在于个人的电子邮件客户端。一旦他收到密送副本,他必须将其移动到已发送文件夹中。这就是sckd想要自动化的步骤。 - Dan Bracuk
好的,那么真正的问题是如何在IMAP上创建过滤器 - 即,不是在每个消息发送后手动创建它,而是只需创建一次过滤器,根据某个标头的存在移动消息。如果cfimap无法实现这一点,那么类似于jSieveManageSieveJ的东西可能可以。 - Peter Boughton
当然,我可以像我在问题中提到的那样将发件人放在BCC上(显然,我们端的规则/过滤器非常容易),但这不是我的理想解决方案(这是我的备选计划)。我是一个问题解决的狂热者,所以在花费了这么多时间之后,我也想知道它是否可能,但实际上似乎不可能。 - sckd
1个回答

2

经过数日的调研,我最终得出结论:目前(CF10)无法使用cfimap/cfmail完成此操作。我的解决方案是为每封电子邮件添加一个mailerid头部,并BCC到需要存储在公司imap解决方案中的每个电子邮件别名。然后,规则将所有具有该mailerid的电子邮件移动到特定文件夹中以备份。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接