summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-24 11:29:53 (UTC)
committer zautrix <zautrix>2005-03-24 11:29:53 (UTC)
commitb9e83e4536ee4fc34b882fb88b8e5fd00bfdf929 (patch) (unidiff)
treea0a5565360abc8e79d417b2e55f9b179ad615b87
parent1dff93853802953ed92b24ac18ebf57f39dcbcfe (diff)
downloadkdepimpi-b9e83e4536ee4fc34b882fb88b8e5fd00bfdf929.zip
kdepimpi-b9e83e4536ee4fc34b882fb88b8e5fd00bfdf929.tar.gz
kdepimpi-b9e83e4536ee4fc34b882fb88b8e5fd00bfdf929.tar.bz2
ompi smtp fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libmailwrapper/smtpwrapper.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/kmicromail/libmailwrapper/smtpwrapper.cpp b/kmicromail/libmailwrapper/smtpwrapper.cpp
index 448a2e9..a6c12e4 100644
--- a/kmicromail/libmailwrapper/smtpwrapper.cpp
+++ b/kmicromail/libmailwrapper/smtpwrapper.cpp
@@ -214,16 +214,17 @@ void SMTPwrapper::connect_server()
214 port = m_SmtpAccount->getPort().toUInt(); 214 port = m_SmtpAccount->getPort().toUInt();
215 215
216 m_smtp = mailsmtp_new( 20, &progress ); 216 m_smtp = mailsmtp_new( 20, &progress );
217 if ( m_smtp == NULL ) { 217 if ( m_smtp == NULL ) {
218 /* no failure message cause this happens when problems with memory - than we 218 /* no failure message cause this happens when problems with memory - than we
219 we can not display any messagebox */ 219 we can not display any messagebox */
220 return; 220 return;
221 } 221 }
222 //m_smtp->auth = MAILSMTP_AUTH_LOGIN;
222 223
223 int err = MAILSMTP_NO_ERROR; 224 int err = MAILSMTP_NO_ERROR;
224 ; // odebug << "Servername " << server << " at port " << port << "" << oendl; 225 ; // odebug << "Servername " << server << " at port " << port << "" << oendl;
225 if ( ssl ) { 226 if ( ssl ) {
226 qDebug("smtp: ssl_connect "); 227 qDebug("smtp: ssl_connect ");
227 err = mailsmtp_ssl_connect( m_smtp, server.latin1(), port ); 228 err = mailsmtp_ssl_connect( m_smtp, server.latin1(), port );
228 } else { 229 } else {
229 ; // odebug << "No SSL session" << oendl; 230 ; // odebug << "No SSL session" << oendl;
@@ -247,29 +248,38 @@ void SMTPwrapper::connect_server()
247 } 248 }
248 if (result && try_tls) { 249 if (result && try_tls) {
249 qDebug("Smpt: Try TLS... "); 250 qDebug("Smpt: Try TLS... ");
250 err = start_smtp_tls(); 251 err = start_smtp_tls();
251 if (err != MAILSMTP_NO_ERROR) { 252 if (err != MAILSMTP_NO_ERROR) {
252 try_tls = false; 253 try_tls = false;
253 qDebug("Smpt: No TLS possible "); 254 qDebug("Smpt: No TLS possible ");
254 } else { 255 } else {
255 err = mailesmtp_ehlo(m_smtp); 256 qDebug("Smpt: Using TLS ");
256 if ( err != MAILSMTP_NO_ERROR )
257 result = 0;
258 else
259 qDebug("Smpt: Using TLS ");
260 } 257 }
261 } 258 }
259
262 //qDebug("mailesmtp_ehlo %d ",err ); 260 //qDebug("mailesmtp_ehlo %d ",err );
263 if (!try_tls && force_tls) { 261 if (!try_tls && force_tls) {
264 result = 0; 262 result = 0;
265 failuretext = i18n("Error init SMTP tls:%1").arg(mailsmtpError(err)); 263 failuretext = i18n("Error init SMTP tls:%1").arg(mailsmtpError(err));
264 }
265 if ( mailesmtp_ehlo(m_smtp) != MAILSMTP_NO_ERROR ) {
266 qDebug("Smpt: ehlo failed ");
267 result = 0;
266 } 268 }
267 269 else {
270 //qDebug("Smpt: auth is %d -- %d %d",m_smtp->auth, MAILSMTP_AUTH_LOGIN, MAILSMTP_AUTH_PLAIN);
271 if ( m_smtp->auth & MAILSMTP_AUTH_LOGIN && m_smtp->auth & MAILSMTP_AUTH_PLAIN ) {
272 qDebug("Smpt: Using MAILSMTP_AUTH_LOGIN ");
273 m_smtp->auth -= MAILSMTP_AUTH_PLAIN;
274 //qDebug("Smpt: auth is %d -- %d %d",m_smtp->auth, MAILSMTP_AUTH_LOGIN, MAILSMTP_AUTH_PLAIN);
275 }
276 }
277
268 if (result==1 && m_SmtpAccount->getLogin() ) { 278 if (result==1 && m_SmtpAccount->getLogin() ) {
269 ; // odebug << "smtp with auth" << oendl; 279 ; // odebug << "smtp with auth" << oendl;
270 if ( m_SmtpAccount->getUser().isEmpty() || m_SmtpAccount->getPassword().isEmpty() ) { 280 if ( m_SmtpAccount->getUser().isEmpty() || m_SmtpAccount->getPassword().isEmpty() ) {
271 // get'em 281 // get'em
272 LoginDialog login( m_SmtpAccount->getUser(), 282 LoginDialog login( m_SmtpAccount->getUser(),
273 m_SmtpAccount->getPassword(), NULL, 0, true ); 283 m_SmtpAccount->getPassword(), NULL, 0, true );
274 login.show(); 284 login.show();
275 if ( QDialog::Accepted == login.exec() ) { 285 if ( QDialog::Accepted == login.exec() ) {