-rw-r--r-- | noncore/net/mail/libmailwrapper/pop3wrapper.cpp | 11 | ||||
-rw-r--r-- | noncore/net/mail/pop3wrapper.cpp | 11 |
2 files changed, 16 insertions, 6 deletions
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index 6decb6a..1538d50 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp @@ -20,17 +20,17 @@ void POP3wrapper::pop3_progress( size_t current, size_t maximum ) } void POP3wrapper::listMessages( QList<RecMail> &target ) { int err = MAILPOP3_NO_ERROR; char *header; size_t length; carray *messages; - + login(); mailpop3_list( m_pop3, &messages ); for ( int i = carray_count( messages ); i > 0; i-- ) { mailpop3_msg_info *info = (mailpop3_msg_info *) carray_get( messages, i - 1 ); err = mailpop3_header( m_pop3, info->index, &header, &length ); if ( err != MAILPOP3_NO_ERROR ) { @@ -68,19 +68,24 @@ void POP3wrapper::login() server = account->getServer().latin1(); port = account->getPort().toUInt(); user = account->getUser().latin1(); pass = account->getPassword().latin1(); m_pop3 = mailpop3_new( 200, &pop3_progress ); // connect - err = mailpop3_socket_connect( m_pop3, (char *) server, port ); + if (account->getSSL()) { + err = mailpop3_ssl_connect( m_pop3, (char*)server, port ); + } else { + err = mailpop3_socket_connect( m_pop3, (char*)server, port ); + } + if ( err != MAILPOP3_NO_ERROR ) { - qDebug( "pop3: error connecting to %s\n reason: %s", server, + qDebug( "pop3: error connecting to %s\n reason: %s", server, m_pop3->response ); mailpop3_free( m_pop3 ); m_pop3 = NULL; return; } qDebug( "POP3: connected!" ); // login diff --git a/noncore/net/mail/pop3wrapper.cpp b/noncore/net/mail/pop3wrapper.cpp index 6decb6a..1538d50 100644 --- a/noncore/net/mail/pop3wrapper.cpp +++ b/noncore/net/mail/pop3wrapper.cpp @@ -20,17 +20,17 @@ void POP3wrapper::pop3_progress( size_t current, size_t maximum ) } void POP3wrapper::listMessages( QList<RecMail> &target ) { int err = MAILPOP3_NO_ERROR; char *header; size_t length; carray *messages; - + login(); mailpop3_list( m_pop3, &messages ); for ( int i = carray_count( messages ); i > 0; i-- ) { mailpop3_msg_info *info = (mailpop3_msg_info *) carray_get( messages, i - 1 ); err = mailpop3_header( m_pop3, info->index, &header, &length ); if ( err != MAILPOP3_NO_ERROR ) { @@ -68,19 +68,24 @@ void POP3wrapper::login() server = account->getServer().latin1(); port = account->getPort().toUInt(); user = account->getUser().latin1(); pass = account->getPassword().latin1(); m_pop3 = mailpop3_new( 200, &pop3_progress ); // connect - err = mailpop3_socket_connect( m_pop3, (char *) server, port ); + if (account->getSSL()) { + err = mailpop3_ssl_connect( m_pop3, (char*)server, port ); + } else { + err = mailpop3_socket_connect( m_pop3, (char*)server, port ); + } + if ( err != MAILPOP3_NO_ERROR ) { - qDebug( "pop3: error connecting to %s\n reason: %s", server, + qDebug( "pop3: error connecting to %s\n reason: %s", server, m_pop3->response ); mailpop3_free( m_pop3 ); m_pop3 = NULL; return; } qDebug( "POP3: connected!" ); // login |