summaryrefslogtreecommitdiffabout
path: root/kmicromail
Unidiff
Diffstat (limited to 'kmicromail') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/composemail.cpp14
-rw-r--r--kmicromail/libmailwrapper/smtpwrapper.cpp23
-rw-r--r--kmicromail/libmailwrapper/smtpwrapper.h4
3 files changed, 25 insertions, 16 deletions
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp
index 2c2e279..ca4f247 100644
--- a/kmicromail/composemail.cpp
+++ b/kmicromail/composemail.cpp
@@ -121,7 +121,7 @@ void ComposeMail::saveAsDraft()
121 121
122 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 122 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
123 /* attachments we will ignore! */ 123 /* attachments we will ignore! */
124 if ( it != NULL ) { 124 if ( it != 0 ) {
125 if ( warnAttach ) 125 if ( warnAttach )
126 QMessageBox::warning(0,tr("Store message"), 126 QMessageBox::warning(0,tr("Store message"),
127 tr("<center>Attachments will not be stored in \"Draft\" folder</center>")); 127 tr("<center>Attachments will not be stored in \"Draft\" folder</center>"));
@@ -136,7 +136,7 @@ void ComposeMail::clearStatus()
136void ComposeMail::setStatus( QString status ) 136void ComposeMail::setStatus( QString status )
137{ 137{
138 topLevelWidget()->setCaption( status ); 138 topLevelWidget()->setCaption( status );
139 QTimer::singleShot ( 5000, this, SLOT( clearStatus() ) ) ; 139 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ;
140} 140}
141void ComposeMail::pickAddress( QLineEdit *line ) 141void ComposeMail::pickAddress( QLineEdit *line )
142{ 142{
@@ -300,13 +300,19 @@ void ComposeMail::accept()
300 } 300 }
301 mail->setMessage( txt ); 301 mail->setMessage( txt );
302 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 302 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
303 while ( it != NULL ) { 303 while ( it != 0 ) {
304 mail->addAttachment( it->getAttachment() ); 304 mail->addAttachment( it->getAttachment() );
305 it = (AttachViewItem *) it->nextSibling(); 305 it = (AttachViewItem *) it->nextSibling();
306 } 306 }
307 307
308 SMTPwrapper wrapper( smtp ); 308 SMTPwrapper wrapper( smtp );
309 wrapper.sendMail( mail,checkBoxLater->isChecked() ); 309 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) )
310 setStatus( tr ("Mail sent"));
311 else {
312 setStatus( tr ("Error: Something went wrong. Nothing sent"));
313 return;
314 }
315
310 316
311 QDialog::accept(); 317 QDialog::accept();
312} 318}
diff --git a/kmicromail/libmailwrapper/smtpwrapper.cpp b/kmicromail/libmailwrapper/smtpwrapper.cpp
index 04a21ea..6a1b505 100644
--- a/kmicromail/libmailwrapper/smtpwrapper.cpp
+++ b/kmicromail/libmailwrapper/smtpwrapper.cpp
@@ -102,7 +102,7 @@ void SMTPwrapper::storeMail(const char*mail, size_t length, const QString&box) {
102 delete wrap; 102 delete wrap;
103} 103}
104 104
105void SMTPwrapper::smtpSend( mailmime *mail,bool later) { 105bool SMTPwrapper::smtpSend( mailmime *mail,bool later) {
106 clist *rcpts = 0; 106 clist *rcpts = 0;
107 char *from, *data; 107 char *from, *data;
108 size_t size; 108 size_t size;
@@ -118,8 +118,8 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later) {
118 if (r != MAIL_NO_ERROR || !data) { 118 if (r != MAIL_NO_ERROR || !data) {
119 if (data) 119 if (data)
120 free(data); 120 free(data);
121 ; // odebug << "Error fetching mime..." << oendl; 121 qDebug("Error fetching mime... ");
122 return; 122 return false;
123 } 123 }
124 msg = 0; 124 msg = 0;
125 if (later) { 125 if (later) {
@@ -130,11 +130,11 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later) {
130 cfg.setGroup( "Status" ); 130 cfg.setGroup( "Status" );
131 cfg.writeEntry( "outgoing", ++m_queuedMail ); 131 cfg.writeEntry( "outgoing", ++m_queuedMail );
132 emit queuedMails( m_queuedMail ); 132 emit queuedMails( m_queuedMail );
133 return; 133 return true;
134 } 134 }
135 from = getFrom( mail ); 135 from = getFrom( mail );
136 rcpts = createRcptList( mail->mm_data.mm_message.mm_fields ); 136 rcpts = createRcptList( mail->mm_data.mm_message.mm_fields );
137 smtpSend(from,rcpts,data,size); 137 bool result = smtpSend(from,rcpts,data,size);
138 if (data) { 138 if (data) {
139 free(data); 139 free(data);
140 } 140 }
@@ -143,6 +143,7 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later) {
143 } 143 }
144 if (rcpts) 144 if (rcpts)
145 smtp_address_list_free( rcpts ); 145 smtp_address_list_free( rcpts );
146 return result;
146} 147}
147 148
148void SMTPwrapper::storeFailedMail(const char*data,unsigned int size, const char*failuremessage) 149void SMTPwrapper::storeFailedMail(const char*data,unsigned int size, const char*failuremessage)
@@ -316,24 +317,26 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size )
316 return result; 317 return result;
317} 318}
318 319
319void SMTPwrapper::sendMail(const Opie::Core::OSmartPointer<Mail>&mail,bool later ) 320bool SMTPwrapper::sendMail(const Opie::Core::OSmartPointer<Mail>&mail,bool later )
320{ 321{
321 mailmime * mimeMail; 322 mailmime * mimeMail;
322 323 bool result = true;
323 mimeMail = createMimeMail(mail ); 324 mimeMail = createMimeMail(mail );
324 if ( mimeMail == NULL ) { 325 if ( mimeMail == 0 ) {
325 ; // odebug << "sendMail: error creating mime mail" << oendl; 326 qDebug("SMTP wrapper:Error creating mail! ");
327 return false;
326 } else { 328 } else {
327 sendProgress = new progressMailSend(); 329 sendProgress = new progressMailSend();
328 sendProgress->show(); 330 sendProgress->show();
329 sendProgress->setMaxMails(1); 331 sendProgress->setMaxMails(1);
330 smtpSend( mimeMail,later); 332 result = smtpSend( mimeMail,later);
331 ; // odebug << "Clean up done" << oendl; 333 ; // odebug << "Clean up done" << oendl;
332 sendProgress->hide(); 334 sendProgress->hide();
333 delete sendProgress; 335 delete sendProgress;
334 sendProgress = 0; 336 sendProgress = 0;
335 mailmime_free( mimeMail ); 337 mailmime_free( mimeMail );
336 } 338 }
339 return result;
337} 340}
338 341
339int SMTPwrapper::sendQueuedMail(AbstractMail*wrap,const RecMailP&which) { 342int SMTPwrapper::sendQueuedMail(AbstractMail*wrap,const RecMailP&which) {
diff --git a/kmicromail/libmailwrapper/smtpwrapper.h b/kmicromail/libmailwrapper/smtpwrapper.h
index 6c5bbe8..105cbf5 100644
--- a/kmicromail/libmailwrapper/smtpwrapper.h
+++ b/kmicromail/libmailwrapper/smtpwrapper.h
@@ -23,7 +23,7 @@ class SMTPwrapper : public Generatemail
23public: 23public:
24 SMTPwrapper(SMTPaccount * aSmtp); 24 SMTPwrapper(SMTPaccount * aSmtp);
25 virtual ~SMTPwrapper(); 25 virtual ~SMTPwrapper();
26 void sendMail(const Opie::Core::OSmartPointer<Mail>& mail,bool later=false ); 26 bool sendMail(const Opie::Core::OSmartPointer<Mail>& mail,bool later=false );
27 bool flushOutbox(); 27 bool flushOutbox();
28 28
29 static progressMailSend*sendProgress; 29 static progressMailSend*sendProgress;
@@ -40,7 +40,7 @@ protected:
40 int start_smtp_tls(); 40 int start_smtp_tls();
41 41
42 42
43 void smtpSend( mailmime *mail,bool later); 43 bool smtpSend( mailmime *mail,bool later);
44 44
45 static void storeMail(const char*mail, size_t length, const QString&box); 45 static void storeMail(const char*mail, size_t length, const QString&box);
46 static QString mailsmtpError( int err ); 46 static QString mailsmtpError( int err );