我已经获得了从INBOX文件夹中读取邮件的代码。但是,我无法从收件箱以外的文件夹中读取邮件。以下是我的代码,用于仅从我的收件箱中提取邮件。
; display mail but don't delete from mailbox
testmail6 ;
new mailserver,status,err,mailMsg
set mailserver=##class(%Net.POP3).%New()
set mailserver.AttachDir="d:attach" ; need terminating
set mailserver.StoreAttachToFile=1
write !,"Calling Connect"
set status=mailserver.Connect("Server.com","user","password")
if $$$ISERR(status) do DecomposeStatus^%apiOBJ(status,.err) write !,err(err),! quit
write !,"Calling Fetch to retrieve the oldest message on the server."
set status=mailserver.Fetch(1,.mailMsg,0)
if $$$ISERR(status) do DecomposeStatus^%apiOBJ(status,.err) write !,err(err),! quit
write !,"from="_mailMsg.From
write !,"to="_mailMsg.Headers.GetAt("to")
write !,"date="_mailMsg.Date
write !,"subject="_mailMsg.Subject
write !,"messagesize="_mailMsg.MessageSize
do DumpMessage(mailMsg)
quit
不幸的是,您无法用任何语言执行此操作,因为POP3根本不支持任何文件夹,只支持列出所有不兼容的消息。这样的文件夹在IMAP中支持,但Cache默认情况下没有任何使用它的实现
你可以在这里找到一个家伙,他提供他的IMAP适配器,这可能会帮助你