summaryrefslogtreecommitdiffabout
path: root/kmicromail
Unidiff
Diffstat (limited to 'kmicromail') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/editaccounts.cpp24
-rw-r--r--kmicromail/libetpan/tools/mailstream_socket.c2
-rw-r--r--kmicromail/libmailwrapper/smtpwrapper.cpp8
3 files changed, 20 insertions, 14 deletions
diff --git a/kmicromail/editaccounts.cpp b/kmicromail/editaccounts.cpp
index f1075c0..49049f6 100644
--- a/kmicromail/editaccounts.cpp
+++ b/kmicromail/editaccounts.cpp
@@ -301,73 +301,74 @@ void EditAccounts::accept()
301{ 301{
302 settings->saveAccounts(); 302 settings->saveAccounts();
303 303
304 QDialog::accept(); 304 QDialog::accept();
305} 305}
306 306
307/** 307/**
308 * SelectMailType 308 * SelectMailType
309 */ 309 */
310 310
311SelectMailType::SelectMailType( QString *selection, QWidget *parent, const char *name, bool modal, WFlags flags ) 311SelectMailType::SelectMailType( QString *selection, QWidget *parent, const char *name, bool modal, WFlags flags )
312 : SelectMailTypeUI( parent, name, modal, flags ) 312 : SelectMailTypeUI( parent, name, modal, flags )
313{ 313{
314 selected = selection; 314 selected = selection;
315 selected->replace( 0, selected->length(), typeBox->currentText() ); 315 selected->replace( 0, selected->length(), typeBox->currentText() );
316 connect( typeBox, SIGNAL( activated(const QString&) ), SLOT( slotSelection(const QString&) ) ); 316 connect( typeBox, SIGNAL( activated(const QString&) ), SLOT( slotSelection(const QString&) ) );
317} 317}
318 318
319void SelectMailType::slotSelection( const QString &sel ) 319void SelectMailType::slotSelection( const QString &sel )
320{ 320{
321 selected->replace( 0, selected->length(), sel ); 321 selected->replace( 0, selected->length(), sel );
322} 322}
323 323
324/** 324/**
325 * IMAPconfig 325 * IMAPconfig
326 */ 326 */
327 327
328IMAPconfig::IMAPconfig( IMAPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 328IMAPconfig::IMAPconfig( IMAPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags )
329 : IMAPconfigUI( parent, name, modal, flags ) 329 : IMAPconfigUI( parent, name, modal, flags )
330{ 330{
331 data = account; 331 data = account;
332 332
333 fillValues(); 333 //fillValues();
334 334
335 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) ); 335 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) );
336 ComboBox1->insertItem( "Only if available", 0 ); 336 ComboBox1->insertItem( "Only if available", 0 );
337 ComboBox1->insertItem( "Always, Negotiated", 1 ); 337 ComboBox1->insertItem( "Always, Negotiated", 1 );
338 ComboBox1->insertItem( "Connect on secure port", 2 ); 338 ComboBox1->insertItem( "Connect on secure port", 2 );
339 ComboBox1->insertItem( "Run command instead", 3 ); 339 ComboBox1->insertItem( "Run command instead", 3 );
340 CommandEdit->hide(); 340 CommandEdit->hide();
341 ComboBox1->setCurrentItem( data->ConnectionType() ); 341 fillValues();
342 // ComboBox1->setCurrentItem( data->ConnectionType() );
342} 343}
343 344
344void IMAPconfig::slotConnectionToggle( int index ) 345void IMAPconfig::slotConnectionToggle( int index )
345{ 346{
346 if ( index == 2 ) 347 if ( index == 2 )
347 { 348 {
348 portLine->setText( IMAP_SSL_PORT ); 349 portLine->setText( IMAP_SSL_PORT );
349 } 350 }
350 else if ( index == 3 ) 351 else if ( index == 3 )
351 { 352 {
352 portLine->setText( IMAP_PORT ); 353 portLine->setText( IMAP_PORT );
353 CommandEdit->show(); 354 CommandEdit->show();
354 } 355 }
355 else 356 else
356 { 357 {
357 portLine->setText( IMAP_PORT ); 358 portLine->setText( IMAP_PORT );
358 } 359 }
359} 360}
360 361
361void IMAPconfig::fillValues() 362void IMAPconfig::fillValues()
362{ 363{
363 accountLine->setText( data->getAccountName() ); 364 accountLine->setText( data->getAccountName() );
364 serverLine->setText( data->getServer() ); 365 serverLine->setText( data->getServer() );
365 portLine->setText( data->getPort() ); 366 portLine->setText( data->getPort() );
366 ComboBox1->setCurrentItem( data->ConnectionType() ); 367 ComboBox1->setCurrentItem( data->ConnectionType() );
367 userLine->setText( data->getUser() ); 368 userLine->setText( data->getUser() );
368 passLine->setText( data->getPassword() ); 369 passLine->setText( data->getPassword() );
369 prefixLine->setText(data->getPrefix()); 370 prefixLine->setText(data->getPrefix());
370 localFolder->setText( data->getLocalFolder() ); 371 localFolder->setText( data->getLocalFolder() );
371 int max = data->getMaxMailSize() ; 372 int max = data->getMaxMailSize() ;
372 if ( max ) { 373 if ( max ) {
373 CheckBoxDown->setChecked( true ); 374 CheckBoxDown->setChecked( true );
@@ -380,73 +381,74 @@ void IMAPconfig::fillValues()
380} 381}
381 382
382void IMAPconfig::accept() 383void IMAPconfig::accept()
383{ 384{
384 if ( localFolder->text().contains("/") ||localFolder->text().contains("\\") ) { 385 if ( localFolder->text().contains("/") ||localFolder->text().contains("\\") ) {
385 QMessageBox::information( this, i18n( "Error" ), 386 QMessageBox::information( this, i18n( "Error" ),
386 i18n( "No paths allowed in\nlocal folder settings.\nPlease specify a folder\nname or leave empty\nto create local folder\nwith account name\nautomatically." ), 387 i18n( "No paths allowed in\nlocal folder settings.\nPlease specify a folder\nname or leave empty\nto create local folder\nwith account name\nautomatically." ),
387 i18n( "Ok" ) ); 388 i18n( "Ok" ) );
388 return; 389 return;
389 } 390 }
390 data->setAccountName( accountLine->text() ); 391 data->setAccountName( accountLine->text() );
391 data->setServer( serverLine->text() ); 392 data->setServer( serverLine->text() );
392 data->setPort( portLine->text() ); 393 data->setPort( portLine->text() );
393 data->setConnectionType( ComboBox1->currentItem() ); 394 data->setConnectionType( ComboBox1->currentItem() );
394 data->setUser( userLine->text() ); 395 data->setUser( userLine->text() );
395 data->setPassword( passLine->text() ); 396 data->setPassword( passLine->text() );
396 data->setPrefix(prefixLine->text()); 397 data->setPrefix(prefixLine->text());
397 data->setLocalFolder( localFolder->text() ); 398 data->setLocalFolder( localFolder->text() );
398 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ; 399 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ;
399 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() ); 400 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() );
400 401
401 QDialog::accept(); 402 QDialog::accept();
402} 403}
403 404
404/** 405/**
405 * POP3config 406 * POP3config
406 */ 407 */
407 408
408POP3config::POP3config( POP3account *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 409POP3config::POP3config( POP3account *account, QWidget *parent, const char *name, bool modal, WFlags flags )
409 : POP3configUI( parent, name, modal, flags ) 410 : POP3configUI( parent, name, modal, flags )
410{ 411{
411 data = account; 412 data = account;
412 fillValues(); 413 //fillValues();
413 414
414 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) ); 415 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) );
415 ComboBox1->insertItem( "Only if available", 0 ); 416 ComboBox1->insertItem( "Only if available", 0 );
416 ComboBox1->insertItem( "Always, Negotiated", 1 ); 417 ComboBox1->insertItem( "Always, Negotiated", 1 );
417 ComboBox1->insertItem( "Connect on secure port", 2 ); 418 ComboBox1->insertItem( "Connect on secure port", 2 );
418 ComboBox1->insertItem( "Run command instead", 3 ); 419 ComboBox1->insertItem( "Run command instead", 3 );
419 CommandEdit->hide(); 420 CommandEdit->hide();
420 ComboBox1->setCurrentItem( data->ConnectionType() ); 421 fillValues();
422 //ComboBox1->setCurrentItem( data->ConnectionType() );
421} 423}
422 424
423void POP3config::slotConnectionToggle( int index ) 425void POP3config::slotConnectionToggle( int index )
424{ 426{
425 // 2 is ssl connection 427 // 2 is ssl connection
426 if ( index == 2 ) 428 if ( index == 2 )
427 { 429 {
428 portLine->setText( POP3_SSL_PORT ); 430 portLine->setText( POP3_SSL_PORT );
429 } 431 }
430 else if ( index == 3 ) 432 else if ( index == 3 )
431 { 433 {
432 portLine->setText( POP3_PORT ); 434 portLine->setText( POP3_PORT );
433 CommandEdit->show(); 435 CommandEdit->show();
434 } 436 }
435 else 437 else
436 { 438 {
437 portLine->setText( POP3_PORT ); 439 portLine->setText( POP3_PORT );
438 } 440 }
439} 441}
440 442
441void POP3config::fillValues() 443void POP3config::fillValues()
442{ 444{
443 accountLine->setText( data->getAccountName() ); 445 accountLine->setText( data->getAccountName() );
444 serverLine->setText( data->getServer() ); 446 serverLine->setText( data->getServer() );
445 portLine->setText( data->getPort() ); 447 portLine->setText( data->getPort() );
446 ComboBox1->setCurrentItem( data->ConnectionType() ); 448 ComboBox1->setCurrentItem( data->ConnectionType() );
447 userLine->setText( data->getUser() ); 449 userLine->setText( data->getUser() );
448 passLine->setText( data->getPassword() ); 450 passLine->setText( data->getPassword() );
449 localFolder->setText( data->getLocalFolder() ); 451 localFolder->setText( data->getLocalFolder() );
450 int max = data->getMaxMailSize() ; 452 int max = data->getMaxMailSize() ;
451 if ( max ) { 453 if ( max ) {
452 CheckBoxDown->setChecked( true ); 454 CheckBoxDown->setChecked( true );
@@ -462,79 +464,81 @@ void POP3config::accept()
462{ 464{
463 if ( localFolder->text().contains("/") ||localFolder->text().contains("\\") ) { 465 if ( localFolder->text().contains("/") ||localFolder->text().contains("\\") ) {
464 QMessageBox::information( this, i18n( "Error" ), 466 QMessageBox::information( this, i18n( "Error" ),
465 i18n( "No paths allowed in\nlocal folder settings.\nPlease specify a folder\nname or leave empty\nto create local folder\nwith account name\nautomatically." ), 467 i18n( "No paths allowed in\nlocal folder settings.\nPlease specify a folder\nname or leave empty\nto create local folder\nwith account name\nautomatically." ),
466 i18n( "Ok" ) ); 468 i18n( "Ok" ) );
467 return; 469 return;
468 } 470 }
469 data->setAccountName( accountLine->text() ); 471 data->setAccountName( accountLine->text() );
470 data->setServer( serverLine->text() ); 472 data->setServer( serverLine->text() );
471 data->setPort( portLine->text() ); 473 data->setPort( portLine->text() );
472 data->setConnectionType( ComboBox1->currentItem() ); 474 data->setConnectionType( ComboBox1->currentItem() );
473 data->setUser( userLine->text() ); 475 data->setUser( userLine->text() );
474 data->setPassword( passLine->text() ); 476 data->setPassword( passLine->text() );
475 data->setLocalFolder( localFolder->text() ); 477 data->setLocalFolder( localFolder->text() );
476 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ; 478 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ;
477 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() ); 479 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() );
478 480
479 QDialog::accept(); 481 QDialog::accept();
480} 482}
481 483
482/** 484/**
483 * SMTPconfig 485 * SMTPconfig
484 */ 486 */
485 487
486SMTPconfig::SMTPconfig( SMTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 488SMTPconfig::SMTPconfig( SMTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags )
487 : SMTPconfigUI( parent, name, modal, flags ) 489 : SMTPconfigUI( parent, name, modal, flags )
488{ 490{
489 data = account; 491 data = account;
490 492
491 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) ); 493 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) );
492 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) ); 494 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) );
493 495
494 fillValues(); 496 // fillValues();
495 QIconSet icon; 497 QIconSet icon;
496 //icon = SmallIcon("fileexport"); 498 //icon = SmallIcon("fileexport");
497 icon = SmallIcon("fileopen"); 499 icon = SmallIcon("fileopen");
498 SignaturButton->setText(""); 500 SignaturButton->setText("");
499 SignaturButton->setIconSet (icon ) ; 501 SignaturButton->setIconSet (icon ) ;
500 SignaturButton->setMaximumSize ( SignaturButton->sizeHint().height()+4,SignaturButton->sizeHint().height()) ; 502 SignaturButton->setMaximumSize ( SignaturButton->sizeHint().height()+4,SignaturButton->sizeHint().height()) ;
501 connect( SignaturButton, SIGNAL( clicked() ), this, SLOT( chooseSig() ) ); 503 connect( SignaturButton, SIGNAL( clicked() ), this, SLOT( chooseSig() ) );
502 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) ); 504 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) );
503 ComboBox1->insertItem( "Only if available", 0 ); 505 ComboBox1->insertItem( "No secure connection, no TLS", 0 );
504 ComboBox1->insertItem( "Always, Negotiated", 1 ); 506 ComboBox1->insertItem( "Only if available, try TLS", 1 );
505 ComboBox1->insertItem( "Connect on secure port", 2 ); 507 ComboBox1->insertItem( "Always, use TLS", 2 );
506 ComboBox1->insertItem( "Run command instead", 3 ); 508 ComboBox1->insertItem( "Connect on secure port (SSL)", 3 );
509 ComboBox1->insertItem( "Run command instead", 4 );
507 CommandEdit->hide(); 510 CommandEdit->hide();
508 ComboBox1->setCurrentItem( data->ConnectionType() ); 511 fillValues();
512 //ComboBox1->setCurrentItem( data->ConnectionType() );
509} 513}
510void SMTPconfig::chooseSig() 514void SMTPconfig::chooseSig()
511{ 515{
512 QString lnk = KFileDialog::getOpenFileName( "", "Choose Signatur File", this ); 516 QString lnk = KFileDialog::getOpenFileName( "", "Choose Signatur File", this );
513 if ( !lnk.isEmpty() ) { 517 if ( !lnk.isEmpty() ) {
514 SignaturEdit->setText( lnk ); 518 SignaturEdit->setText( lnk );
515 } 519 }
516} 520}
517void SMTPconfig::slotConnectionToggle( int index ) 521void SMTPconfig::slotConnectionToggle( int index )
518{ 522{
519 // 2 is ssl connection 523 // 2 is ssl connection
520 if ( index == 2 ) 524 if ( index == 2 )
521 { 525 {
522 portLine->setText( SMTP_SSL_PORT ); 526 portLine->setText( SMTP_SSL_PORT );
523 } 527 }
524 else if ( index == 3 ) 528 else if ( index == 3 )
525 { 529 {
526 portLine->setText( SMTP_PORT ); 530 portLine->setText( SMTP_PORT );
527 CommandEdit->show(); 531 CommandEdit->show();
528 } 532 }
529 else 533 else
530 { 534 {
531 portLine->setText( SMTP_PORT ); 535 portLine->setText( SMTP_PORT );
532 } 536 }
533} 537}
534 538
535void SMTPconfig::fillValues() 539void SMTPconfig::fillValues()
536{ 540{
537 accountLine->setText( data->getAccountName() ); 541 accountLine->setText( data->getAccountName() );
538 serverLine->setText( data->getServer() ); 542 serverLine->setText( data->getServer() );
539 portLine->setText( data->getPort() ); 543 portLine->setText( data->getPort() );
540 ComboBox1->setCurrentItem( data->ConnectionType() ); 544 ComboBox1->setCurrentItem( data->ConnectionType() );
diff --git a/kmicromail/libetpan/tools/mailstream_socket.c b/kmicromail/libetpan/tools/mailstream_socket.c
index 04a6f48..fd2c758 100644
--- a/kmicromail/libetpan/tools/mailstream_socket.c
+++ b/kmicromail/libetpan/tools/mailstream_socket.c
@@ -177,65 +177,65 @@ static ssize_t mailstream_low_socket_read(mailstream_low * s,
177 return -1; 177 return -1;
178 if (FD_ISSET(socket_data->fd, &fds_excp)) 178 if (FD_ISSET(socket_data->fd, &fds_excp))
179 return -1; 179 return -1;
180 if (!FD_ISSET(socket_data->fd, &fds_read)) 180 if (!FD_ISSET(socket_data->fd, &fds_read))
181 return 0; 181 return 0;
182 } 182 }
183 return recv(socket_data->fd,buf,count,MSG_NOSIGNAL); 183 return recv(socket_data->fd,buf,count,MSG_NOSIGNAL);
184 //return read(socket_data->fd, buf, count); 184 //return read(socket_data->fd, buf, count);
185} 185}
186#include <stdio.h> 186#include <stdio.h>
187static ssize_t mailstream_low_socket_write(mailstream_low * s, 187static ssize_t mailstream_low_socket_write(mailstream_low * s,
188 const void * buf, size_t count) 188 const void * buf, size_t count)
189{ 189{
190 struct mailstream_socket_data * socket_data; 190 struct mailstream_socket_data * socket_data;
191 191
192 socket_data = (struct mailstream_socket_data *) s->data; 192 socket_data = (struct mailstream_socket_data *) s->data;
193 /* timeout */ 193 /* timeout */
194 { 194 {
195 fd_set fds_write; 195 fd_set fds_write;
196 fd_set fds_excp; 196 fd_set fds_excp;
197 struct timeval timeout; 197 struct timeval timeout;
198 int r; 198 int r;
199 199
200 timeout = mailstream_network_delay; 200 timeout = mailstream_network_delay;
201 201
202 FD_ZERO(&fds_write); 202 FD_ZERO(&fds_write);
203 FD_SET(socket_data->fd, &fds_write); 203 FD_SET(socket_data->fd, &fds_write);
204 FD_ZERO(&fds_excp); 204 FD_ZERO(&fds_excp);
205 FD_SET(socket_data->fd, &fds_excp); 205 FD_SET(socket_data->fd, &fds_excp);
206 // LUTZ next line blocks sometimes 206 // LUTZ next line blocks sometimes
207 if ( timeout.tv_sec > DEFAULT_NETWORK_TIMEOUT ) 207 if ( timeout.tv_sec > DEFAULT_NETWORK_TIMEOUT )
208 timeout.tv_sec = DEFAULT_NETWORK_TIMEOUT; 208 timeout.tv_sec = DEFAULT_NETWORK_TIMEOUT;
209 fprintf(stderr,"fd %d to secs %d \n", socket_data->fd, timeout.tv_sec ); 209 //fprintf(stderr,"fd %d to secs %d \n", socket_data->fd, timeout.tv_sec );
210 r = select(socket_data->fd + 1, NULL, &fds_write, &fds_excp, &timeout); 210 r = select(socket_data->fd + 1, NULL, &fds_write, &fds_excp, &timeout);
211 if (r < 1) 211 if (r < 1)
212 return -1; 212 return -1;
213 if (FD_ISSET(socket_data->fd, &fds_excp)) 213 if (FD_ISSET(socket_data->fd, &fds_excp))
214 return -1; 214 return -1;
215 if (!FD_ISSET(socket_data->fd, &fds_write)) 215 if (!FD_ISSET(socket_data->fd, &fds_write))
216 return 0; 216 return 0;
217 } 217 }
218 218
219 return send(socket_data->fd,buf,count,MSG_NOSIGNAL); 219 return send(socket_data->fd,buf,count,MSG_NOSIGNAL);
220 //return write(socket_data->fd, buf, count); 220 //return write(socket_data->fd, buf, count);
221} 221}
222 222
223 223
224/* mailstream */ 224/* mailstream */
225 225
226mailstream * mailstream_socket_open(int fd) 226mailstream * mailstream_socket_open(int fd)
227{ 227{
228 mailstream_low * low; 228 mailstream_low * low;
229 mailstream * s; 229 mailstream * s;
230 230
231 low = mailstream_low_socket_open(fd); 231 low = mailstream_low_socket_open(fd);
232 if (low == NULL) 232 if (low == NULL)
233 goto err; 233 goto err;
234 234
235 s = mailstream_new(low, 8192); 235 s = mailstream_new(low, 8192);
236 if (s == NULL) 236 if (s == NULL)
237 goto free_low; 237 goto free_low;
238 238
239 return s; 239 return s;
240 240
241 free_low: 241 free_low:
diff --git a/kmicromail/libmailwrapper/smtpwrapper.cpp b/kmicromail/libmailwrapper/smtpwrapper.cpp
index 5096f67..872a460 100644
--- a/kmicromail/libmailwrapper/smtpwrapper.cpp
+++ b/kmicromail/libmailwrapper/smtpwrapper.cpp
@@ -164,77 +164,79 @@ void SMTPwrapper::storeFailedMail(const char*data,unsigned int size, const char*
164 } 164 }
165} 165}
166 166
167int SMTPwrapper::start_smtp_tls() 167int SMTPwrapper::start_smtp_tls()
168{ 168{
169 if (!m_smtp) { 169 if (!m_smtp) {
170 return MAILSMTP_ERROR_IN_PROCESSING; 170 return MAILSMTP_ERROR_IN_PROCESSING;
171 } 171 }
172 int err = mailesmtp_starttls(m_smtp); 172 int err = mailesmtp_starttls(m_smtp);
173 if (err != MAILSMTP_NO_ERROR) return err; 173 if (err != MAILSMTP_NO_ERROR) return err;
174 mailstream_low * low; 174 mailstream_low * low;
175 mailstream_low * new_low; 175 mailstream_low * new_low;
176 low = mailstream_get_low(m_smtp->stream); 176 low = mailstream_get_low(m_smtp->stream);
177 if (!low) { 177 if (!low) {
178 return MAILSMTP_ERROR_IN_PROCESSING; 178 return MAILSMTP_ERROR_IN_PROCESSING;
179 } 179 }
180 int fd = mailstream_low_get_fd(low); 180 int fd = mailstream_low_get_fd(low);
181 if (fd > -1 && (new_low = mailstream_low_ssl_open(fd))!=0) { 181 if (fd > -1 && (new_low = mailstream_low_ssl_open(fd))!=0) {
182 mailstream_low_free(low); 182 mailstream_low_free(low);
183 mailstream_set_low(m_smtp->stream, new_low); 183 mailstream_set_low(m_smtp->stream, new_low);
184 } else { 184 } else {
185 return MAILSMTP_ERROR_IN_PROCESSING; 185 return MAILSMTP_ERROR_IN_PROCESSING;
186 } 186 }
187 return err; 187 return err;
188} 188}
189 189
190void SMTPwrapper::connect_server() 190void SMTPwrapper::connect_server()
191{ 191{
192 QString server, user, pass; 192 QString server, user, pass;
193 bool ssl; 193 bool ssl;
194 uint16_t port; 194 uint16_t port;
195 ssl = false; 195 ssl = false;
196 bool try_tls = true; 196 bool try_tls = false;
197 bool force_tls=false; 197 bool force_tls=false;
198 QString failuretext = ""; 198 QString failuretext = "";
199 199
200 if (m_smtp || !m_SmtpAccount) { 200 if (m_smtp || !m_SmtpAccount) {
201 return; 201 return;
202 } 202 }
203 server = m_SmtpAccount->getServer(); 203 server = m_SmtpAccount->getServer();
204 if ( m_SmtpAccount->ConnectionType() == 2 ) { 204 if ( m_SmtpAccount->ConnectionType() == 3 ) {
205 ssl = true; 205 ssl = true;
206 try_tls = false; 206 try_tls = false;
207 } else if (m_SmtpAccount->ConnectionType() == 1) { 207 } else if (m_SmtpAccount->ConnectionType() == 2) {
208 force_tls = true; 208 force_tls = true;
209 } else if (m_SmtpAccount->ConnectionType() == 1) {
210 try_tls = true;
209 } 211 }
210 int result = 1; 212 int result = 1;
211 port = m_SmtpAccount->getPort().toUInt(); 213 port = m_SmtpAccount->getPort().toUInt();
212 214
213 m_smtp = mailsmtp_new( 20, &progress ); 215 m_smtp = mailsmtp_new( 20, &progress );
214 if ( m_smtp == NULL ) { 216 if ( m_smtp == NULL ) {
215 /* no failure message cause this happens when problems with memory - than we 217 /* no failure message cause this happens when problems with memory - than we
216 we can not display any messagebox */ 218 we can not display any messagebox */
217 return; 219 return;
218 } 220 }
219 221
220 int err = MAILSMTP_NO_ERROR; 222 int err = MAILSMTP_NO_ERROR;
221 ; // odebug << "Servername " << server << " at port " << port << "" << oendl; 223 ; // odebug << "Servername " << server << " at port " << port << "" << oendl;
222 if ( ssl ) { 224 if ( ssl ) {
223 qDebug("smtp: ssl_connect "); 225 qDebug("smtp: ssl_connect ");
224 err = mailsmtp_ssl_connect( m_smtp, server.latin1(), port ); 226 err = mailsmtp_ssl_connect( m_smtp, server.latin1(), port );
225 } else { 227 } else {
226 ; // odebug << "No SSL session" << oendl; 228 ; // odebug << "No SSL session" << oendl;
227 err = mailsmtp_socket_connect( m_smtp, server.latin1(), port ); 229 err = mailsmtp_socket_connect( m_smtp, server.latin1(), port );
228 } 230 }
229 if ( err != MAILSMTP_NO_ERROR ) { 231 if ( err != MAILSMTP_NO_ERROR ) {
230 qDebug("Error init SMTP connection" ); 232 qDebug("Error init SMTP connection" );
231 failuretext = i18n("Error init SMTP connection:\n%1").arg(mailsmtpError(err)); 233 failuretext = i18n("Error init SMTP connection:\n%1").arg(mailsmtpError(err));
232 result = 0; 234 result = 0;
233 } 235 }
234 236
235 qDebug("SMTP connection inited "); 237 qDebug("SMTP connection inited ");
236 /* switch to tls after init 'cause there it will send the ehlo */ 238 /* switch to tls after init 'cause there it will send the ehlo */
237 if (result) { 239 if (result) {
238 err = mailsmtp_init( m_smtp ); 240 err = mailsmtp_init( m_smtp );
239 if (err != MAILSMTP_NO_ERROR) { 241 if (err != MAILSMTP_NO_ERROR) {
240 result = 0; 242 result = 0;