author | alwin <alwin> | 2004-01-11 11:45:10 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-01-11 11:45:10 (UTC) |
commit | c384fb58ea944d6430777d403a6462429242c59b (patch) (side-by-side diff) | |
tree | 16b5d69630d142f6713aff80c2a666c492728ed1 /noncore/net/mail/libmailwrapper/smtpwrapper.cpp | |
parent | 9edad3578862d4a3d1d85a8c311e3ace902f2f63 (diff) | |
download | opie-c384fb58ea944d6430777d403a6462429242c59b.zip opie-c384fb58ea944d6430777d403a6462429242c59b.tar.gz opie-c384fb58ea944d6430777d403a6462429242c59b.tar.bz2 |
when failure sending mails them will be stored into a local folder
and a message box appears.
Diffstat (limited to 'noncore/net/mail/libmailwrapper/smtpwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/smtpwrapper.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp index 085d5e4..7671133 100644 --- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp @@ -8,2 +8,3 @@ #include <qt.h> +#include <qmessagebox.h> @@ -556,2 +557,13 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) { +void SMTPwrapper::storeFailedMail(const char*data,unsigned int size, const char*failuremessage) +{ + if (data) { + storeMail(data,size,"Sendfailed"); + } + if (failuremessage) { + QMessageBox::critical(0,tr("Error sending mail"), + tr("<center>%1</center>").arg(failuremessage)); + } +} + int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMTPaccount *smtp ) { @@ -591,2 +603,3 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT qDebug("Error init connection"); + storeFailedMail(data,size,mailsmtpError(err)); result = 0; @@ -597,2 +610,3 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT if ( err != MAILSMTP_NO_ERROR ) { + storeFailedMail(data,size,mailsmtpError(err)); result = 0; @@ -623,4 +637,9 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT err = mailsmtp_auth( session, (char*)user, (char*)pass ); - if ( err == MAILSMTP_NO_ERROR ) + if ( err == MAILSMTP_NO_ERROR ) { qDebug("auth ok"); + } else { + storeFailedMail(data,size,tr("Authentification failed")); + result = 0; + goto free_con_session; + } qDebug( "Done auth!" ); @@ -628,2 +647,4 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT qDebug("SMTP without auth"); + result = 0; + goto free_con_session; } @@ -632,2 +653,3 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMT if ( err != MAILSMTP_NO_ERROR ) { + storeFailedMail(data,size,mailsmtpError(err)); qDebug("Error sending mail: %s",mailsmtpError(err).latin1()); |