author | alwin <alwin> | 2003-12-13 22:35:35 (UTC) |
---|---|---|
committer | alwin <alwin> | 2003-12-13 22:35:35 (UTC) |
commit | b0a71314013a3367767526b68928a7168b4ad460 (patch) (side-by-side diff) | |
tree | 9f223458a7f029fad43f7db126b527ad49d60ce4 /noncore/net/mail/libmailwrapper/imapwrapper.cpp | |
parent | f1fa9ca873169e803fcc28cecd756a3edaa30ec4 (diff) | |
download | opie-b0a71314013a3367767526b68928a7168b4ad460.zip opie-b0a71314013a3367767526b68928a7168b4ad460.tar.gz opie-b0a71314013a3367767526b68928a7168b4ad460.tar.bz2 |
deleting a mail in a imap server implemented
Diffstat (limited to 'noncore/net/mail/libmailwrapper/imapwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index 3222c7e..a01a2a9 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp @@ -697,2 +697,34 @@ QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part) return fetchPart(mail,part.Positionlist(),false); } + +void IMAPwrapper::deleteMail(const RecMail&mail) +{ + mailimap_flag_list*flist; + mailimap_set *set; + mailimap_store_att_flags * store_flags; + int err; + login(); + if (!m_imap) { + return; + } + const char *mb = mail.getMbox().latin1(); + err = mailimap_select( m_imap, (char*)mb); + if ( err != MAILIMAP_NO_ERROR ) { + qDebug("error selecting mailbox for delete: %s",m_imap->imap_response); + return; + } + flist = mailimap_flag_list_new_empty(); + mailimap_flag_list_add(flist,mailimap_flag_new_deleted()); + store_flags = mailimap_store_att_flags_new_set_flags(flist); + set = mailimap_set_new_single(mail.getNumber()); + err = mailimap_store(m_imap,set,store_flags); + if (err != MAILIMAP_NO_ERROR) { + qDebug("error deleting mail: %s",m_imap->imap_response); + return; + } + err = mailimap_expunge(m_imap); + if (err != MAILIMAP_NO_ERROR) { + qDebug("error deleting mail: %s",m_imap->imap_response); + } + qDebug("Delete successfull"); +} |