[英]How to use Delphi to get email message text from Thunderbird
我现在用Outlook做什么:
我收到产品的电子邮件订单。 我在Outlook中选择一个或多个电子邮件(一个订单可以有多个与之关联的电子邮件),然后切换到我的Delphi编码的OrderManager程序并单击“导入”。 它使用Outlook的COM自动化界面来读取每条消息的文本,解析并处理每条消息。
问题是,我可以使用Thunderbird代替吗? Thunderbird有COM接口吗? 我必须使用Google搜索错误的关键字,因为我还没有找到任何内容。
顺便说一句,我确实有一个版本的OrderManager,它只是使用Indy从我的电子邮件服务器直接读取电子邮件,但出于几个原因,我想尝试从Firefox中读取它们。
任何建议,文档链接或代码示例将不胜感激!
检查此链接 。
您可以围绕XPCOM编写C或C ++包装器,然后在Delphi中使用该包装器。
还有一个用Delphi编写的开源XPCOM包装器 。 您可能也想检查一下。 感谢Stijn指出这一点。
希望能帮助到你。
您也可以自己解析Thunderbird的邮箱文件。
%APPDATA%\\Thunderbird\\profiles.ini
,读取配置文件文件夹所在的位置(如果有多个配置文件,请查看Profile
0 , Profile
n ,以获取值为Default=1
) Mail
和/或ImapMail
子文件夹的每个子文件夹代表一个帐户( Mail
包含POP帐户, ImapMail
包含IMAP帐户); From
”开头的每一行都表示一条新消息。 使用X-Mozilla-Status
标头来确定消息是否仍然有效,或者是否已将其标记为删除。 (如果需要,可以使用CDO.Message
COM对象为您解析消息)。 您应该递归以“.sbd”结尾的每个子文件夹,因为它将包含该邮箱的子文件夹(例如Inbox.sbd
将包含收件箱下的邮件文件夹)。
但是要小心文件锁定问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.