-rw-r--r-- | noncore/net/mail/imapwrapper.cpp | 9 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 9 |
2 files changed, 16 insertions, 2 deletions
diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp index a01a2a9..9ee0dff 100644 --- a/noncore/net/mail/imapwrapper.cpp +++ b/noncore/net/mail/imapwrapper.cpp | |||
@@ -276,51 +276,53 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att) | |||
276 | m->setFrom(addresslist.first()); | 276 | m->setFrom(addresslist.first()); |
277 | } | 277 | } |
278 | } | 278 | } |
279 | if (head->env_to!=NULL) { | 279 | if (head->env_to!=NULL) { |
280 | addresslist = address_list_to_stringlist(head->env_to->to_list); | 280 | addresslist = address_list_to_stringlist(head->env_to->to_list); |
281 | m->setTo(addresslist); | 281 | m->setTo(addresslist); |
282 | } | 282 | } |
283 | if (head->env_cc!=NULL) { | 283 | if (head->env_cc!=NULL) { |
284 | addresslist = address_list_to_stringlist(head->env_cc->cc_list); | 284 | addresslist = address_list_to_stringlist(head->env_cc->cc_list); |
285 | m->setCC(addresslist); | 285 | m->setCC(addresslist); |
286 | } | 286 | } |
287 | if (head->env_bcc!=NULL) { | 287 | if (head->env_bcc!=NULL) { |
288 | addresslist = address_list_to_stringlist(head->env_bcc->bcc_list); | 288 | addresslist = address_list_to_stringlist(head->env_bcc->bcc_list); |
289 | m->setBcc(addresslist); | 289 | m->setBcc(addresslist); |
290 | } | 290 | } |
291 | if (head->env_reply_to!=NULL) { | 291 | if (head->env_reply_to!=NULL) { |
292 | addresslist = address_list_to_stringlist(head->env_reply_to->rt_list); | 292 | addresslist = address_list_to_stringlist(head->env_reply_to->rt_list); |
293 | if (addresslist.count()) { | 293 | if (addresslist.count()) { |
294 | m->setReplyto(addresslist.first()); | 294 | m->setReplyto(addresslist.first()); |
295 | } | 295 | } |
296 | } | 296 | } |
297 | m->setMsgid(QString(head->env_message_id)); | 297 | m->setMsgid(QString(head->env_message_id)); |
298 | } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_INTERNALDATE) { | 298 | } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_INTERNALDATE) { |
299 | mailimap_date_time*d = item->att_data.att_static->att_data.att_internal_date; | 299 | mailimap_date_time*d = item->att_data.att_static->att_data.att_internal_date; |
300 | #if 0 | ||
300 | QDateTime da(QDate(d->dt_year,d->dt_month,d->dt_day),QTime(d->dt_hour,d->dt_min,d->dt_sec)); | 301 | QDateTime da(QDate(d->dt_year,d->dt_month,d->dt_day),QTime(d->dt_hour,d->dt_min,d->dt_sec)); |
301 | qDebug("%i %i %i - %i %i %i",d->dt_year,d->dt_month,d->dt_day,d->dt_hour,d->dt_min,d->dt_sec); | 302 | qDebug("%i %i %i - %i %i %i",d->dt_year,d->dt_month,d->dt_day,d->dt_hour,d->dt_min,d->dt_sec); |
302 | qDebug(da.toString()); | 303 | qDebug(da.toString()); |
304 | #endif | ||
303 | } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_RFC822_SIZE) { | 305 | } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_RFC822_SIZE) { |
304 | size = item->att_data.att_static->att_data.att_rfc822_size; | 306 | size = item->att_data.att_static->att_data.att_rfc822_size; |
305 | } | 307 | } |
306 | } | 308 | } |
307 | /* msg is already deleted */ | 309 | /* msg is already deleted */ |
308 | if (mFlags.testBit(FLAG_DELETED) && m) { | 310 | if (mFlags.testBit(FLAG_DELETED) && m) { |
309 | delete m; | 311 | delete m; |
310 | m = 0; | 312 | m = 0; |
311 | } | 313 | } |
312 | if (m) { | 314 | if (m) { |
313 | m->setFlags(mFlags); | 315 | m->setFlags(mFlags); |
314 | m->setMsgsize(size); | 316 | m->setMsgsize(size); |
315 | } | 317 | } |
316 | return m; | 318 | return m; |
317 | } | 319 | } |
318 | 320 | ||
319 | RecBody IMAPwrapper::fetchBody(const RecMail&mail) | 321 | RecBody IMAPwrapper::fetchBody(const RecMail&mail) |
320 | { | 322 | { |
321 | RecBody body; | 323 | RecBody body; |
322 | const char *mb; | 324 | const char *mb; |
323 | int err = MAILIMAP_NO_ERROR; | 325 | int err = MAILIMAP_NO_ERROR; |
324 | clist *result; | 326 | clist *result; |
325 | clistcell *current; | 327 | clistcell *current; |
326 | mailimap_fetch_att *fetchAtt; | 328 | mailimap_fetch_att *fetchAtt; |
@@ -697,34 +699,39 @@ QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part) | |||
697 | return fetchPart(mail,part.Positionlist(),false); | 699 | return fetchPart(mail,part.Positionlist(),false); |
698 | } | 700 | } |
699 | 701 | ||
700 | void IMAPwrapper::deleteMail(const RecMail&mail) | 702 | void IMAPwrapper::deleteMail(const RecMail&mail) |
701 | { | 703 | { |
702 | mailimap_flag_list*flist; | 704 | mailimap_flag_list*flist; |
703 | mailimap_set *set; | 705 | mailimap_set *set; |
704 | mailimap_store_att_flags * store_flags; | 706 | mailimap_store_att_flags * store_flags; |
705 | int err; | 707 | int err; |
706 | login(); | 708 | login(); |
707 | if (!m_imap) { | 709 | if (!m_imap) { |
708 | return; | 710 | return; |
709 | } | 711 | } |
710 | const char *mb = mail.getMbox().latin1(); | 712 | const char *mb = mail.getMbox().latin1(); |
711 | err = mailimap_select( m_imap, (char*)mb); | 713 | err = mailimap_select( m_imap, (char*)mb); |
712 | if ( err != MAILIMAP_NO_ERROR ) { | 714 | if ( err != MAILIMAP_NO_ERROR ) { |
713 | qDebug("error selecting mailbox for delete: %s",m_imap->imap_response); | 715 | qDebug("error selecting mailbox for delete: %s",m_imap->imap_response); |
714 | return; | 716 | return; |
715 | } | 717 | } |
716 | flist = mailimap_flag_list_new_empty(); | 718 | flist = mailimap_flag_list_new_empty(); |
717 | mailimap_flag_list_add(flist,mailimap_flag_new_deleted()); | 719 | mailimap_flag_list_add(flist,mailimap_flag_new_deleted()); |
718 | store_flags = mailimap_store_att_flags_new_set_flags(flist); | 720 | store_flags = mailimap_store_att_flags_new_set_flags(flist); |
719 | set = mailimap_set_new_single(mail.getNumber()); | 721 | set = mailimap_set_new_single(mail.getNumber()); |
720 | err = mailimap_store(m_imap,set,store_flags); | 722 | err = mailimap_store(m_imap,set,store_flags); |
723 | mailimap_set_free( set ); | ||
724 | mailimap_store_att_flags_free(store_flags); | ||
725 | |||
721 | if (err != MAILIMAP_NO_ERROR) { | 726 | if (err != MAILIMAP_NO_ERROR) { |
722 | qDebug("error deleting mail: %s",m_imap->imap_response); | 727 | qDebug("error deleting mail: %s",m_imap->imap_response); |
723 | return; | 728 | return; |
724 | } | 729 | } |
730 | qDebug("deleting mail: %s",m_imap->imap_response); | ||
731 | /* should we realy do that at this moment? */ | ||
725 | err = mailimap_expunge(m_imap); | 732 | err = mailimap_expunge(m_imap); |
726 | if (err != MAILIMAP_NO_ERROR) { | 733 | if (err != MAILIMAP_NO_ERROR) { |
727 | qDebug("error deleting mail: %s",m_imap->imap_response); | 734 | qDebug("error deleting mail: %s",m_imap->imap_response); |
728 | } | 735 | } |
729 | qDebug("Delete successfull"); | 736 | qDebug("Delete successfull %s",m_imap->imap_response); |
730 | } | 737 | } |
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index a01a2a9..9ee0dff 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp | |||
@@ -276,51 +276,53 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att) | |||
276 | m->setFrom(addresslist.first()); | 276 | m->setFrom(addresslist.first()); |
277 | } | 277 | } |
278 | } | 278 | } |
279 | if (head->env_to!=NULL) { | 279 | if (head->env_to!=NULL) { |
280 | addresslist = address_list_to_stringlist(head->env_to->to_list); | 280 | addresslist = address_list_to_stringlist(head->env_to->to_list); |
281 | m->setTo(addresslist); | 281 | m->setTo(addresslist); |
282 | } | 282 | } |
283 | if (head->env_cc!=NULL) { | 283 | if (head->env_cc!=NULL) { |
284 | addresslist = address_list_to_stringlist(head->env_cc->cc_list); | 284 | addresslist = address_list_to_stringlist(head->env_cc->cc_list); |
285 | m->setCC(addresslist); | 285 | m->setCC(addresslist); |
286 | } | 286 | } |
287 | if (head->env_bcc!=NULL) { | 287 | if (head->env_bcc!=NULL) { |
288 | addresslist = address_list_to_stringlist(head->env_bcc->bcc_list); | 288 | addresslist = address_list_to_stringlist(head->env_bcc->bcc_list); |
289 | m->setBcc(addresslist); | 289 | m->setBcc(addresslist); |
290 | } | 290 | } |
291 | if (head->env_reply_to!=NULL) { | 291 | if (head->env_reply_to!=NULL) { |
292 | addresslist = address_list_to_stringlist(head->env_reply_to->rt_list); | 292 | addresslist = address_list_to_stringlist(head->env_reply_to->rt_list); |
293 | if (addresslist.count()) { | 293 | if (addresslist.count()) { |
294 | m->setReplyto(addresslist.first()); | 294 | m->setReplyto(addresslist.first()); |
295 | } | 295 | } |
296 | } | 296 | } |
297 | m->setMsgid(QString(head->env_message_id)); | 297 | m->setMsgid(QString(head->env_message_id)); |
298 | } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_INTERNALDATE) { | 298 | } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_INTERNALDATE) { |
299 | mailimap_date_time*d = item->att_data.att_static->att_data.att_internal_date; | 299 | mailimap_date_time*d = item->att_data.att_static->att_data.att_internal_date; |
300 | #if 0 | ||
300 | QDateTime da(QDate(d->dt_year,d->dt_month,d->dt_day),QTime(d->dt_hour,d->dt_min,d->dt_sec)); | 301 | QDateTime da(QDate(d->dt_year,d->dt_month,d->dt_day),QTime(d->dt_hour,d->dt_min,d->dt_sec)); |
301 | qDebug("%i %i %i - %i %i %i",d->dt_year,d->dt_month,d->dt_day,d->dt_hour,d->dt_min,d->dt_sec); | 302 | qDebug("%i %i %i - %i %i %i",d->dt_year,d->dt_month,d->dt_day,d->dt_hour,d->dt_min,d->dt_sec); |
302 | qDebug(da.toString()); | 303 | qDebug(da.toString()); |
304 | #endif | ||
303 | } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_RFC822_SIZE) { | 305 | } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_RFC822_SIZE) { |
304 | size = item->att_data.att_static->att_data.att_rfc822_size; | 306 | size = item->att_data.att_static->att_data.att_rfc822_size; |
305 | } | 307 | } |
306 | } | 308 | } |
307 | /* msg is already deleted */ | 309 | /* msg is already deleted */ |
308 | if (mFlags.testBit(FLAG_DELETED) && m) { | 310 | if (mFlags.testBit(FLAG_DELETED) && m) { |
309 | delete m; | 311 | delete m; |
310 | m = 0; | 312 | m = 0; |
311 | } | 313 | } |
312 | if (m) { | 314 | if (m) { |
313 | m->setFlags(mFlags); | 315 | m->setFlags(mFlags); |
314 | m->setMsgsize(size); | 316 | m->setMsgsize(size); |
315 | } | 317 | } |
316 | return m; | 318 | return m; |
317 | } | 319 | } |
318 | 320 | ||
319 | RecBody IMAPwrapper::fetchBody(const RecMail&mail) | 321 | RecBody IMAPwrapper::fetchBody(const RecMail&mail) |
320 | { | 322 | { |
321 | RecBody body; | 323 | RecBody body; |
322 | const char *mb; | 324 | const char *mb; |
323 | int err = MAILIMAP_NO_ERROR; | 325 | int err = MAILIMAP_NO_ERROR; |
324 | clist *result; | 326 | clist *result; |
325 | clistcell *current; | 327 | clistcell *current; |
326 | mailimap_fetch_att *fetchAtt; | 328 | mailimap_fetch_att *fetchAtt; |
@@ -697,34 +699,39 @@ QString IMAPwrapper::fetchPart(const RecMail&mail,const RecPart&part) | |||
697 | return fetchPart(mail,part.Positionlist(),false); | 699 | return fetchPart(mail,part.Positionlist(),false); |
698 | } | 700 | } |
699 | 701 | ||
700 | void IMAPwrapper::deleteMail(const RecMail&mail) | 702 | void IMAPwrapper::deleteMail(const RecMail&mail) |
701 | { | 703 | { |
702 | mailimap_flag_list*flist; | 704 | mailimap_flag_list*flist; |
703 | mailimap_set *set; | 705 | mailimap_set *set; |
704 | mailimap_store_att_flags * store_flags; | 706 | mailimap_store_att_flags * store_flags; |
705 | int err; | 707 | int err; |
706 | login(); | 708 | login(); |
707 | if (!m_imap) { | 709 | if (!m_imap) { |
708 | return; | 710 | return; |
709 | } | 711 | } |
710 | const char *mb = mail.getMbox().latin1(); | 712 | const char *mb = mail.getMbox().latin1(); |
711 | err = mailimap_select( m_imap, (char*)mb); | 713 | err = mailimap_select( m_imap, (char*)mb); |
712 | if ( err != MAILIMAP_NO_ERROR ) { | 714 | if ( err != MAILIMAP_NO_ERROR ) { |
713 | qDebug("error selecting mailbox for delete: %s",m_imap->imap_response); | 715 | qDebug("error selecting mailbox for delete: %s",m_imap->imap_response); |
714 | return; | 716 | return; |
715 | } | 717 | } |
716 | flist = mailimap_flag_list_new_empty(); | 718 | flist = mailimap_flag_list_new_empty(); |
717 | mailimap_flag_list_add(flist,mailimap_flag_new_deleted()); | 719 | mailimap_flag_list_add(flist,mailimap_flag_new_deleted()); |
718 | store_flags = mailimap_store_att_flags_new_set_flags(flist); | 720 | store_flags = mailimap_store_att_flags_new_set_flags(flist); |
719 | set = mailimap_set_new_single(mail.getNumber()); | 721 | set = mailimap_set_new_single(mail.getNumber()); |
720 | err = mailimap_store(m_imap,set,store_flags); | 722 | err = mailimap_store(m_imap,set,store_flags); |
723 | mailimap_set_free( set ); | ||
724 | mailimap_store_att_flags_free(store_flags); | ||
725 | |||
721 | if (err != MAILIMAP_NO_ERROR) { | 726 | if (err != MAILIMAP_NO_ERROR) { |
722 | qDebug("error deleting mail: %s",m_imap->imap_response); | 727 | qDebug("error deleting mail: %s",m_imap->imap_response); |
723 | return; | 728 | return; |
724 | } | 729 | } |
730 | qDebug("deleting mail: %s",m_imap->imap_response); | ||
731 | /* should we realy do that at this moment? */ | ||
725 | err = mailimap_expunge(m_imap); | 732 | err = mailimap_expunge(m_imap); |
726 | if (err != MAILIMAP_NO_ERROR) { | 733 | if (err != MAILIMAP_NO_ERROR) { |
727 | qDebug("error deleting mail: %s",m_imap->imap_response); | 734 | qDebug("error deleting mail: %s",m_imap->imap_response); |
728 | } | 735 | } |
729 | qDebug("Delete successfull"); | 736 | qDebug("Delete successfull %s",m_imap->imap_response); |
730 | } | 737 | } |