Diffstat (limited to 'noncore/net/mail/smtpwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/smtpwrapper.cpp | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/noncore/net/mail/smtpwrapper.cpp b/noncore/net/mail/smtpwrapper.cpp index 770e2b8..a7e4837 100644 --- a/noncore/net/mail/smtpwrapper.cpp +++ b/noncore/net/mail/smtpwrapper.cpp | |||
@@ -219,5 +219,5 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety | |||
219 | 219 | ||
220 | int pos = filename.findRev( '/' ); | 220 | int pos = filename.findRev( '/' ); |
221 | 221 | ||
222 | if (filename.length()>0) { | 222 | if (filename.length()>0) { |
223 | QString tmp = filename.right( filename.length() - ( pos + 1 ) ); | 223 | QString tmp = filename.right( filename.length() - ( pos + 1 ) ); |
@@ -229,8 +229,8 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety | |||
229 | int disptype = MAILMIME_DISPOSITION_TYPE_ATTACHMENT; | 229 | int disptype = MAILMIME_DISPOSITION_TYPE_ATTACHMENT; |
230 | int mechanism = MAILMIME_MECHANISM_BASE64; | 230 | int mechanism = MAILMIME_MECHANISM_BASE64; |
231 | 231 | ||
232 | if ( mimetype.startsWith( "text/" ) ) { | 232 | if ( mimetype.startsWith( "text/" ) ) { |
233 | param = mailmime_parameter_new( strdup( "charset" ), | 233 | param = mailmime_parameter_new( strdup( "charset" ), |
234 | strdup( "iso-8859-1" ) ); | 234 | strdup( "iso-8859-1" ) ); |
235 | disptype = MAILMIME_DISPOSITION_TYPE_INLINE; | 235 | disptype = MAILMIME_DISPOSITION_TYPE_INLINE; |
236 | mechanism = MAILMIME_MECHANISM_QUOTED_PRINTABLE; | 236 | mechanism = MAILMIME_MECHANISM_QUOTED_PRINTABLE; |
@@ -251,5 +251,5 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety | |||
251 | clist_append(content->ct_parameters,param); | 251 | clist_append(content->ct_parameters,param); |
252 | param = 0; | 252 | param = 0; |
253 | } | 253 | } |
254 | filePart = mailmime_new_empty( content, fields ); | 254 | filePart = mailmime_new_empty( content, fields ); |
255 | } | 255 | } |
@@ -549,5 +549,5 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) | |||
549 | } | 549 | } |
550 | from = data = 0; | 550 | from = data = 0; |
551 | 551 | ||
552 | QString file = getTmpFile(); | 552 | QString file = getTmpFile(); |
553 | writeToFile( file, mail ); | 553 | writeToFile( file, mail ); |
@@ -555,5 +555,5 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) | |||
555 | QFile f( file ); | 555 | QFile f( file ); |
556 | f.remove(); | 556 | f.remove(); |
557 | 557 | ||
558 | if (later) { | 558 | if (later) { |
559 | storeMail(data,size,"Outgoing"); | 559 | storeMail(data,size,"Outgoing"); |
@@ -573,5 +573,5 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,char*data,size_t size, SMTPaccou | |||
573 | mailsmtp *session; | 573 | mailsmtp *session; |
574 | int err,result; | 574 | int err,result; |
575 | 575 | ||
576 | result = 1; | 576 | result = 1; |
577 | server = user = pass = 0; | 577 | server = user = pass = 0; |
@@ -579,5 +579,5 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,char*data,size_t size, SMTPaccou | |||
579 | ssl = smtp->getSSL(); | 579 | ssl = smtp->getSSL(); |
580 | port = smtp->getPort().toUInt(); | 580 | port = smtp->getPort().toUInt(); |
581 | 581 | ||
582 | session = mailsmtp_new( 20, &progress ); | 582 | session = mailsmtp_new( 20, &progress ); |
583 | if ( session == NULL ) goto free_mem; | 583 | if ( session == NULL ) goto free_mem; |
@@ -645,7 +645,7 @@ void SMTPwrapper::sendMail(const Mail&mail,bool later ) | |||
645 | { | 645 | { |
646 | mailmime * mimeMail; | 646 | mailmime * mimeMail; |
647 | 647 | ||
648 | SMTPaccount *smtp = getAccount(mail.getName()); | 648 | SMTPaccount *smtp = getAccount(mail.getName()); |
649 | 649 | ||
650 | mimeMail = createMimeMail(mail ); | 650 | mimeMail = createMimeMail(mail ); |
651 | if ( mimeMail == NULL ) { | 651 | if ( mimeMail == NULL ) { |
@@ -653,5 +653,5 @@ void SMTPwrapper::sendMail(const Mail&mail,bool later ) | |||
653 | } else { | 653 | } else { |
654 | sendProgress = new progressMailSend(); | 654 | sendProgress = new progressMailSend(); |
655 | // sendProgress->showMaximized(); | 655 | // sendProgress->showMaximized(); |
656 | sendProgress->show(); | 656 | sendProgress->show(); |
657 | sendProgress->setMaxMails(1); | 657 | sendProgress->setMaxMails(1); |
@@ -677,5 +677,5 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) | |||
677 | wrap->fetchRawBody(*which,&data,&length); | 677 | wrap->fetchRawBody(*which,&data,&length); |
678 | if (!data) return 0; | 678 | if (!data) return 0; |
679 | int err = mailimf_fields_parse( data, length, &curTok, &fields ); | 679 | int err = mailimf_fields_parse( data, length, &curTok, &fields ); |
680 | if (err != MAILIMF_NO_ERROR) { | 680 | if (err != MAILIMF_NO_ERROR) { |
681 | free(data); | 681 | free(data); |
@@ -683,9 +683,9 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) | |||
683 | return 0; | 683 | return 0; |
684 | } | 684 | } |
685 | 685 | ||
686 | rcpts = createRcptList( fields ); | 686 | rcpts = createRcptList( fields ); |
687 | ffrom = getField(fields, MAILIMF_FIELD_FROM ); | 687 | ffrom = getField(fields, MAILIMF_FIELD_FROM ); |
688 | from = getFrom(ffrom); | 688 | from = getFrom(ffrom); |
689 | 689 | ||
690 | qDebug("Size: %i vs. %i",length,strlen(data)); | 690 | qDebug("Size: %i vs. %i",length,strlen(data)); |
691 | if (rcpts && from) { | 691 | if (rcpts && from) { |
@@ -696,12 +696,15 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) | |||
696 | 696 | ||
697 | /* this is a special fun */ | 697 | /* this is a special fun */ |
698 | void SMTPwrapper::flushOutbox(SMTPaccount*smtp) | 698 | bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) |
699 | { | 699 | { |
700 | if (!smtp) return; | 700 | bool returnValue = true; |
701 | QString localfolders = (QString) getenv( "HOME" ) + QString("/Applications/opiemail/localmail/"); | 701 | |
702 | if (!smtp) return false; | ||
703 | |||
704 | QString localfolders = (QString) getenv( "HOME" ) + QString("/Applications/opiemail/localmail/"); | ||
702 | MBOXwrapper*wrap = new MBOXwrapper(localfolders); | 705 | MBOXwrapper*wrap = new MBOXwrapper(localfolders); |
703 | if (!wrap) { | 706 | if (!wrap) { |
704 | qDebug("memory error"); | 707 | qDebug("memory error"); |
705 | return; | 708 | return false; |
706 | } | 709 | } |
707 | QList<RecMail> mailsToSend; | 710 | QList<RecMail> mailsToSend; |
@@ -711,9 +714,9 @@ void SMTPwrapper::flushOutbox(SMTPaccount*smtp) | |||
711 | if (mailsToSend.count()==0) { | 714 | if (mailsToSend.count()==0) { |
712 | delete wrap; | 715 | delete wrap; |
713 | return; | 716 | return false; |
714 | } | 717 | } |
715 | mailsToSend.setAutoDelete(false); | 718 | mailsToSend.setAutoDelete(false); |
716 | sendProgress = new progressMailSend(); | 719 | sendProgress = new progressMailSend(); |
717 | // sendProgress->showMaximized(); | 720 | // sendProgress->showMaximized(); |
718 | sendProgress->show(); | 721 | sendProgress->show(); |
719 | sendProgress->setMaxMails(mailsToSend.count()); | 722 | sendProgress->setMaxMails(mailsToSend.count()); |
@@ -723,4 +726,6 @@ void SMTPwrapper::flushOutbox(SMTPaccount*smtp) | |||
723 | QMessageBox::critical(0,tr("Error sending mail"), | 726 | QMessageBox::critical(0,tr("Error sending mail"), |
724 | tr("Error sending queued mail - breaking")); | 727 | tr("Error sending queued mail - breaking")); |
728 | |||
729 | returnValue = false; | ||
725 | break; | 730 | break; |
726 | } | 731 | } |
@@ -735,3 +740,5 @@ void SMTPwrapper::flushOutbox(SMTPaccount*smtp) | |||
735 | mailsToSend.setAutoDelete(true); | 740 | mailsToSend.setAutoDelete(true); |
736 | delete wrap; | 741 | delete wrap; |
742 | return returnValue; | ||
743 | |||
737 | } | 744 | } |