-rw-r--r-- | kmicromail/editaccounts.cpp | 12 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/smtpwrapper.cpp | 17 |
2 files changed, 25 insertions, 4 deletions
diff --git a/kmicromail/editaccounts.cpp b/kmicromail/editaccounts.cpp index 49049f6..2c0f2d8 100644 --- a/kmicromail/editaccounts.cpp +++ b/kmicromail/editaccounts.cpp | |||
@@ -347,6 +347,7 @@ void IMAPconfig::slotConnectionToggle( int index ) | |||
347 | if ( index == 2 ) | 347 | if ( index == 2 ) |
348 | { | 348 | { |
349 | portLine->setText( IMAP_SSL_PORT ); | 349 | portLine->setText( IMAP_SSL_PORT ); |
350 | CommandEdit->hide(); | ||
350 | } | 351 | } |
351 | else if ( index == 3 ) | 352 | else if ( index == 3 ) |
352 | { | 353 | { |
@@ -356,6 +357,7 @@ void IMAPconfig::slotConnectionToggle( int index ) | |||
356 | else | 357 | else |
357 | { | 358 | { |
358 | portLine->setText( IMAP_PORT ); | 359 | portLine->setText( IMAP_PORT ); |
360 | CommandEdit->hide(); | ||
359 | } | 361 | } |
360 | } | 362 | } |
361 | 363 | ||
@@ -428,6 +430,7 @@ void POP3config::slotConnectionToggle( int index ) | |||
428 | if ( index == 2 ) | 430 | if ( index == 2 ) |
429 | { | 431 | { |
430 | portLine->setText( POP3_SSL_PORT ); | 432 | portLine->setText( POP3_SSL_PORT ); |
433 | CommandEdit->hide(); | ||
431 | } | 434 | } |
432 | else if ( index == 3 ) | 435 | else if ( index == 3 ) |
433 | { | 436 | { |
@@ -437,6 +440,7 @@ void POP3config::slotConnectionToggle( int index ) | |||
437 | else | 440 | else |
438 | { | 441 | { |
439 | portLine->setText( POP3_PORT ); | 442 | portLine->setText( POP3_PORT ); |
443 | CommandEdit->hide(); | ||
440 | } | 444 | } |
441 | } | 445 | } |
442 | 446 | ||
@@ -520,12 +524,13 @@ void SMTPconfig::chooseSig() | |||
520 | } | 524 | } |
521 | void SMTPconfig::slotConnectionToggle( int index ) | 525 | void SMTPconfig::slotConnectionToggle( int index ) |
522 | { | 526 | { |
523 | // 2 is ssl connection | 527 | // 3 is ssl connection |
524 | if ( index == 2 ) | 528 | if ( index == 3 ) |
525 | { | 529 | { |
526 | portLine->setText( SMTP_SSL_PORT ); | 530 | portLine->setText( SMTP_SSL_PORT ); |
531 | CommandEdit->hide(); | ||
527 | } | 532 | } |
528 | else if ( index == 3 ) | 533 | else if ( index == 4 ) |
529 | { | 534 | { |
530 | portLine->setText( SMTP_PORT ); | 535 | portLine->setText( SMTP_PORT ); |
531 | CommandEdit->show(); | 536 | CommandEdit->show(); |
@@ -533,6 +538,7 @@ void SMTPconfig::slotConnectionToggle( int index ) | |||
533 | else | 538 | else |
534 | { | 539 | { |
535 | portLine->setText( SMTP_PORT ); | 540 | portLine->setText( SMTP_PORT ); |
541 | CommandEdit->hide(); | ||
536 | } | 542 | } |
537 | } | 543 | } |
538 | 544 | ||
diff --git a/kmicromail/libmailwrapper/smtpwrapper.cpp b/kmicromail/libmailwrapper/smtpwrapper.cpp index 872a460..845c71c 100644 --- a/kmicromail/libmailwrapper/smtpwrapper.cpp +++ b/kmicromail/libmailwrapper/smtpwrapper.cpp | |||
@@ -244,7 +244,7 @@ void SMTPwrapper::connect_server() | |||
244 | failuretext = i18n("Error init SMTP connection:\n%1").arg(mailsmtpError(err)); | 244 | failuretext = i18n("Error init SMTP connection:\n%1").arg(mailsmtpError(err)); |
245 | } | 245 | } |
246 | } | 246 | } |
247 | if (try_tls) { | 247 | if (result && try_tls) { |
248 | qDebug("Smpt: Try tls "); | 248 | qDebug("Smpt: Try tls "); |
249 | err = start_smtp_tls(); | 249 | err = start_smtp_tls(); |
250 | if (err != MAILSMTP_NO_ERROR) { | 250 | if (err != MAILSMTP_NO_ERROR) { |
@@ -252,6 +252,8 @@ void SMTPwrapper::connect_server() | |||
252 | qDebug("no tls "); | 252 | qDebug("no tls "); |
253 | } else { | 253 | } else { |
254 | err = mailesmtp_ehlo(m_smtp); | 254 | err = mailesmtp_ehlo(m_smtp); |
255 | if ( err != MAILSMTP_NO_ERROR ) | ||
256 | result = 0; | ||
255 | } | 257 | } |
256 | } | 258 | } |
257 | //qDebug("mailesmtp_ehlo %d ",err ); | 259 | //qDebug("mailesmtp_ehlo %d ",err ); |
@@ -290,6 +292,10 @@ void SMTPwrapper::connect_server() | |||
290 | } | 292 | } |
291 | } | 293 | } |
292 | } | 294 | } |
295 | if ( result == 0 ) { | ||
296 | mailsmtp_free(m_smtp); | ||
297 | m_smtp = 0; | ||
298 | } | ||
293 | } | 299 | } |
294 | 300 | ||
295 | void SMTPwrapper::disc_server() | 301 | void SMTPwrapper::disc_server() |
@@ -347,6 +353,10 @@ bool SMTPwrapper::sendMail(const Opie::Core::OSmartPointer<Mail>&mail,bool later | |||
347 | delete sendProgress; | 353 | delete sendProgress; |
348 | sendProgress = 0; | 354 | sendProgress = 0; |
349 | mailmime_free( mimeMail ); | 355 | mailmime_free( mimeMail ); |
356 | if ( m_smtp ) { | ||
357 | mailsmtp_free(m_smtp); | ||
358 | m_smtp = 0; | ||
359 | } | ||
350 | } | 360 | } |
351 | return result; | 361 | return result; |
352 | } | 362 | } |
@@ -458,6 +468,7 @@ bool SMTPwrapper::flushOutbox() { | |||
458 | m_SmtpAccount->setUser(oldUser); | 468 | m_SmtpAccount->setUser(oldUser); |
459 | m_SmtpAccount->setPassword(oldPw); | 469 | m_SmtpAccount->setPassword(oldPw); |
460 | } | 470 | } |
471 | |||
461 | KConfig cfg( locateLocal("config", "kopiemailrc" ) ); | 472 | KConfig cfg( locateLocal("config", "kopiemailrc" ) ); |
462 | cfg.setGroup( "Status" ); | 473 | cfg.setGroup( "Status" ); |
463 | m_queuedMail = mailsToSend.count(); | 474 | m_queuedMail = mailsToSend.count(); |
@@ -468,5 +479,9 @@ bool SMTPwrapper::flushOutbox() { | |||
468 | sendProgress = 0; | 479 | sendProgress = 0; |
469 | wrap->deleteMails(mbox,mailsToRemove); | 480 | wrap->deleteMails(mbox,mailsToRemove); |
470 | delete wrap; | 481 | delete wrap; |
482 | if ( m_smtp ) { | ||
483 | mailsmtp_free(m_smtp); | ||
484 | m_smtp = 0; | ||
485 | } | ||
471 | return returnValue; | 486 | return returnValue; |
472 | } | 487 | } |