summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/imapwrapper.cpp
authoralwin <alwin>2003-12-13 22:35:35 (UTC)
committer alwin <alwin>2003-12-13 22:35:35 (UTC)
commitb0a71314013a3367767526b68928a7168b4ad460 (patch) (side-by-side diff)
tree9f223458a7f029fad43f7db126b527ad49d60ce4 /noncore/net/mail/libmailwrapper/imapwrapper.cpp
parentf1fa9ca873169e803fcc28cecd756a3edaa30ec4 (diff)
downloadopie-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.cpp32
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
@@ -696,3 +696,35 @@ 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");
+}