summaryrefslogtreecommitdiffabout
path: root/kmicromail
Side-by-side diff
Diffstat (limited to 'kmicromail') (more/less context) (show whitespace changes)
-rw-r--r--kmicromail/editaccounts.cpp12
-rw-r--r--kmicromail/libmailwrapper/smtpwrapper.cpp17
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
@@ -348,4 +348,5 @@ void IMAPconfig::slotConnectionToggle( int index )
{
portLine->setText( IMAP_SSL_PORT );
+ CommandEdit->hide();
}
else if ( index == 3 )
@@ -357,4 +358,5 @@ void IMAPconfig::slotConnectionToggle( int index )
{
portLine->setText( IMAP_PORT );
+ CommandEdit->hide();
}
}
@@ -429,4 +431,5 @@ void POP3config::slotConnectionToggle( int index )
{
portLine->setText( POP3_SSL_PORT );
+ CommandEdit->hide();
}
else if ( index == 3 )
@@ -438,4 +441,5 @@ void POP3config::slotConnectionToggle( int index )
{
portLine->setText( POP3_PORT );
+ CommandEdit->hide();
}
}
@@ -521,10 +525,11 @@ void SMTPconfig::chooseSig()
void SMTPconfig::slotConnectionToggle( int index )
{
- // 2 is ssl connection
- if ( index == 2 )
+ // 3 is ssl connection
+ if ( index == 3 )
{
portLine->setText( SMTP_SSL_PORT );
+ CommandEdit->hide();
}
- else if ( index == 3 )
+ else if ( index == 4 )
{
portLine->setText( SMTP_PORT );
@@ -534,4 +539,5 @@ void SMTPconfig::slotConnectionToggle( int index )
{
portLine->setText( SMTP_PORT );
+ CommandEdit->hide();
}
}
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
@@ -245,5 +245,5 @@ void SMTPwrapper::connect_server()
}
}
- if (try_tls) {
+ if (result && try_tls) {
qDebug("Smpt: Try tls ");
err = start_smtp_tls();
@@ -253,4 +253,6 @@ void SMTPwrapper::connect_server()
} else {
err = mailesmtp_ehlo(m_smtp);
+ if ( err != MAILSMTP_NO_ERROR )
+ result = 0;
}
}
@@ -291,4 +293,8 @@ void SMTPwrapper::connect_server()
}
}
+ if ( result == 0 ) {
+ mailsmtp_free(m_smtp);
+ m_smtp = 0;
+ }
}
@@ -348,4 +354,8 @@ bool SMTPwrapper::sendMail(const Opie::Core::OSmartPointer<Mail>&mail,bool later
sendProgress = 0;
mailmime_free( mimeMail );
+ if ( m_smtp ) {
+ mailsmtp_free(m_smtp);
+ m_smtp = 0;
+ }
}
return result;
@@ -459,4 +469,5 @@ bool SMTPwrapper::flushOutbox() {
m_SmtpAccount->setPassword(oldPw);
}
+
KConfig cfg( locateLocal("config", "kopiemailrc" ) );
cfg.setGroup( "Status" );
@@ -469,4 +480,8 @@ bool SMTPwrapper::flushOutbox() {
wrap->deleteMails(mbox,mailsToRemove);
delete wrap;
+ if ( m_smtp ) {
+ mailsmtp_free(m_smtp);
+ m_smtp = 0;
+ }
return returnValue;
}