-rw-r--r-- | noncore/net/mail/libmailwrapper/smtpwrapper.cpp | 114 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/smtpwrapper.h | 3 | ||||
-rw-r--r-- | noncore/net/mail/smtpwrapper.cpp | 114 | ||||
-rw-r--r-- | noncore/net/mail/smtpwrapper.h | 3 |
4 files changed, 52 insertions, 182 deletions
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp index 285561c..521cd0a 100644 --- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp @@ -108,22 +108,20 @@ mailimf_address_list *SMTPwrapper::parseAddresses(const QString&addr ) } s = addr.mid(startpos,i-startpos); if (!s.isEmpty()) { list.append(s); qDebug("Appended %s",s.latin1()); } QStringList::Iterator it; for ( it = list.begin(); it != list.end(); it++ ) { - char *str = strdup( (*it).latin1() ); - int err = mailimf_address_list_add_parse( addresses, str ); + int err = mailimf_address_list_add_parse( addresses, (char*)(*it).latin1() ); if ( err != MAILIMF_NO_ERROR ) { qDebug( "Error parsing" ); qDebug( *it ); - free( str ); } else { qDebug( "Parse success! %s",(*it).latin1()); } } return addresses; } mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) @@ -191,50 +189,48 @@ err_free: } mailmime *SMTPwrapper::buildTxtPart(const QString&str ) { mailmime *txtPart; mailmime_fields *fields; mailmime_content *content; mailmime_parameter *param; - char *txt = strdup( str.latin1() ); int err; param = mailmime_parameter_new( strdup( "charset" ), strdup( "iso-8859-1" ) ); if ( param == NULL ) goto err_free; content = mailmime_content_new_with_str( "text/plain" ); if ( content == NULL ) goto err_free_param; err = clist_append( content->ct_parameters, param ); if ( err != MAILIMF_NO_ERROR ) goto err_free_content; - fields = mailmime_fields_new_encoding( MAILMIME_MECHANISM_8BIT ); + fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_QUOTED_PRINTABLE); if ( fields == NULL ) goto err_free_content; txtPart = mailmime_new_empty( content, fields ); if ( txtPart == NULL ) goto err_free_fields; - err = mailmime_set_body_text( txtPart, txt, strlen( txt ) ); + err = mailmime_set_body_text( txtPart, (char*)str.data(), str.length() ); if ( err != MAILIMF_NO_ERROR ) goto err_free_txtPart; return txtPart; // Success :) err_free_txtPart: mailmime_free( txtPart ); err_free_fields: mailmime_fields_free( fields ); err_free_content: mailmime_content_free( content ); err_free_param: mailmime_parameter_free( param ); err_free: - free( txt ); qDebug( "buildTxtPart - error" ); return NULL; // Error :( } mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimetype,const QString&TextContent ) { mailmime * filePart = 0; @@ -247,32 +243,30 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety int pos = filename.findRev( '/' ); if (filename.length()>0) { QString tmp = filename.right( filename.length() - ( pos + 1 ) ); name = strdup( tmp.latin1() ); // just filename file = strdup( filename.latin1() ); // full name with path } - char *mime = strdup( mimetype.latin1() ); // mimetype -e.g. text/plain - + int disptype = MAILMIME_DISPOSITION_TYPE_ATTACHMENT; int mechanism = MAILMIME_MECHANISM_BASE64; if ( mimetype.startsWith( "text/" ) ) { param = mailmime_parameter_new( strdup( "charset" ), strdup( "iso-8859-1" ) ); - disptype = MAILMIME_DISPOSITION_TYPE_INLINE; mechanism = MAILMIME_MECHANISM_QUOTED_PRINTABLE; } fields = mailmime_fields_new_filename( disptype, name, mechanism ); - content = mailmime_content_new_with_str( mime ); + content = mailmime_content_new_with_str( (char*)mimetype.latin1() ); if (content!=0 && fields != 0) { if (param) { clist_append(content->ct_parameters,param); param = 0; } if (filename.length()>0) { QFileInfo f(filename); param = mailmime_parameter_new(strdup("name"),strdup(f.fileName().latin1())); @@ -280,35 +274,31 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety param = 0; } filePart = mailmime_new_empty( content, fields ); } if (filePart) { if (filename.length()>0) { err = mailmime_set_body_file( filePart, file ); } else { - err = mailmime_set_body_text(filePart,strdup(TextContent.ascii()),TextContent.length()); + err = mailmime_set_body_text(filePart,strdup(TextContent.data()),TextContent.length()); } if (err != MAILIMF_NO_ERROR) { qDebug("Error setting body with file %s",file); mailmime_free( filePart ); filePart = 0; } } if (!filePart) { if ( param != NULL ) { mailmime_parameter_free( param ); } if (content) { mailmime_content_free( content ); - } else { - if (mime) { - free( mime ); - } } if (fields) { mailmime_fields_free( fields ); } else { if (name) { free( name ); } if (file) { @@ -354,21 +344,18 @@ mailmime *SMTPwrapper::createMimeMail(const Mail &mail ) fields = createImfFields( mail ); if ( fields == NULL ) goto err_free; message = mailmime_new_message_data( NULL ); if ( message == NULL ) goto err_free_fields; mailmime_set_imf_fields( message, fields ); - if (mail.getAttachments().count()==0) { - txtPart = buildTxtPart( mail.getMessage() ); - } else { - txtPart = buildFilePart("","text/plain",mail.getMessage()); - } + txtPart = buildTxtPart( mail.getMessage() ); + if ( txtPart == NULL ) goto err_free_message; err = mailmime_smart_add_part( message, txtPart ); if ( err != MAILIMF_NO_ERROR ) goto err_free_txtPart; addFileParts( message, mail.getAttachments() ); return message; // Success :) @@ -466,17 +453,16 @@ char *SMTPwrapper::getFrom( mailimf_field *ffrom) return from; } char *SMTPwrapper::getFrom( mailmime *mail ) { /* no need to delete - its just a pointer to structure content */ mailimf_field *ffrom = 0; - char*f = 0; ffrom = getField( mail->mm_data.mm_message.mm_fields, MAILIMF_FIELD_FROM ); return getFrom(ffrom); } SMTPaccount *SMTPwrapper::getAccount(const QString&name ) { SMTPaccount *smtp; @@ -491,71 +477,16 @@ SMTPaccount *SMTPwrapper::getAccount(const QString&name ) return smtp; } } } return NULL; } -QString SMTPwrapper::getTmpFile() { - int num = 0; - QString unique; - - QDir dir( "/tmp" ); - - QStringList list = dir.entryList( "opiemail-tmp-*" ); - - do { - unique.setNum( num++ ); - } while ( list.contains( "opiemail-tmp-" + unique ) > 0 ); - - return "/tmp/opiemail-tmp-" + unique; -} - -void SMTPwrapper::writeToFile(const QString&file, mailmime *mail ) -{ - FILE *f; - int err, col = 0; - - f = fopen( file.latin1(), "w" ); - if ( f == NULL ) { - qDebug( "writeToFile: error opening file" ); - return; - } - - err = mailmime_write( f, &col, mail ); - if ( err != MAILIMF_NO_ERROR ) { - fclose( f ); - qDebug( "writeToFile: error writing mailmime" ); - return; - } - - fclose( f ); -} - -void SMTPwrapper::readFromFile(const QString&file, char **data, size_t *size ) -{ - - QFile msg_cache(file); - QString msg = ""; - msg_cache.open(IO_ReadOnly); - char*message = new char[4096]; - memset(message,0,4096); - while (msg_cache.readBlock(message,4095)>0) { - msg+=message; - memset(message,0,4096); - } - delete message; - *data = (char*)malloc(msg.length()+1*sizeof(char)); - memset(*data,0,msg.length()+1); - memcpy(*data,msg.ascii(),msg.length()); - *size=msg.length(); -} - void SMTPwrapper::progress( size_t current, size_t maximum ) { if (SMTPwrapper::sendProgress) { SMTPwrapper::sendProgress->setSingleMail(current, maximum ); qApp->processEvents(); } } @@ -573,25 +504,33 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) clist *rcpts = 0; char *from, *data; size_t size; if ( smtp == NULL ) { return; } from = data = 0; - - QString file = getTmpFile(); - writeToFile( file, mail ); - readFromFile( file, &data, &size ); - QFile f( file ); - f.remove(); - + + mailmessage * msg = 0; + msg = mime_message_init(mail); + mime_message_set_tmpdir(msg,getenv( "HOME" )); + int r = mailmessage_fetch(msg,&data,&size); + mime_message_detach_mime(msg); + mailmessage_free(msg); + if (r != MAIL_NO_ERROR || !data) { + if (data) free(data); + qDebug("Error fetching mime..."); + return; + } + QString tmp = data; + tmp.replace(QRegExp("\r+",true,false),""); + msg = 0; if (later) { - storeMail(data,size,"Outgoing"); + storeMail((char*)tmp.data(),tmp.length(),"Outgoing"); if (data) free( data ); return; } from = getFrom( mail ); rcpts = createRcptList( mail->mm_data.mm_message.mm_fields ); smtpSend(from,rcpts,data,size,smtp); if (data) {free(data);} if (from) {free(from);} @@ -683,21 +622,21 @@ void SMTPwrapper::sendMail(const Mail&mail,bool later ) mimeMail = createMimeMail(mail ); if ( mimeMail == NULL ) { qDebug( "sendMail: error creating mime mail" ); } else { sendProgress = new progressMailSend(); sendProgress->show(); sendProgress->setMaxMails(1); smtpSend( mimeMail,later,smtp); - mailmime_free( mimeMail ); qDebug("Clean up done"); sendProgress->hide(); delete sendProgress; sendProgress = 0; + mailmime_free( mimeMail ); } } int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) { char*data = 0; size_t length = 0; size_t curTok = 0; @@ -742,17 +681,17 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) /* this is a special fun */ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) { bool returnValue = true; if (!smtp) return false; - QString localfolders = (QString) getenv( "HOME" ) + QString("/Applications/opiemail/localmail/"); + QString localfolders = (QString) getenv( "HOME" ) + QString("/Applications/opiemail/localmail/"); MBOXwrapper*wrap = new MBOXwrapper(localfolders); if (!wrap) { qDebug("memory error"); return false; } QList<RecMail> mailsToSend; QList<RecMail> mailsToRemove; QString mbox("Outgoing"); @@ -765,17 +704,16 @@ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) sendProgress = new progressMailSend(); sendProgress->show(); sendProgress->setMaxMails(mailsToSend.count()); while (mailsToSend.count()>0) { if (sendQueuedMail(wrap,smtp,mailsToSend.at(0))==0) { QMessageBox::critical(0,tr("Error sending mail"), tr("Error sending queued mail - breaking")); - returnValue = false; break; } mailsToRemove.append(mailsToSend.at(0)); mailsToSend.removeFirst(); sendProgress->setCurrentMails(mailsToRemove.count()); } sendProgress->hide(); diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.h b/noncore/net/mail/libmailwrapper/smtpwrapper.h index 66180b7..f734fa4 100644 --- a/noncore/net/mail/libmailwrapper/smtpwrapper.h +++ b/noncore/net/mail/libmailwrapper/smtpwrapper.h @@ -38,22 +38,19 @@ protected: mailimf_address_list *parseAddresses(const QString&addr ); void addFileParts( mailmime *message,const QList<Attachment>&files ); mailmime *buildTxtPart(const QString&str ); mailmime *buildFilePart(const QString&filename,const QString&mimetype,const QString&content); void smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ); clist *createRcptList( mailimf_fields *fields ); SMTPaccount *getAccount(const QString&from ); - void writeToFile(const QString&file, mailmime *mail ); - void readFromFile(const QString&file, char **data, size_t *size ); static void storeMail(char*mail, size_t length, const QString&box); static QString mailsmtpError( int err ); - static QString getTmpFile(); static void progress( size_t current, size_t maximum ); static void addRcpts( clist *list, mailimf_address_list *addr_list ); static char *getFrom( mailmime *mail ); static char *getFrom( mailimf_field *ffrom); static mailimf_field *getField( mailimf_fields *fields, int type ); int smtpSend(char*from,clist*rcpts,char*data,size_t size, SMTPaccount *smtp ); void storeMail(mailmime*mail, const QString&box); diff --git a/noncore/net/mail/smtpwrapper.cpp b/noncore/net/mail/smtpwrapper.cpp index 285561c..521cd0a 100644 --- a/noncore/net/mail/smtpwrapper.cpp +++ b/noncore/net/mail/smtpwrapper.cpp @@ -108,22 +108,20 @@ mailimf_address_list *SMTPwrapper::parseAddresses(const QString&addr ) } s = addr.mid(startpos,i-startpos); if (!s.isEmpty()) { list.append(s); qDebug("Appended %s",s.latin1()); } QStringList::Iterator it; for ( it = list.begin(); it != list.end(); it++ ) { - char *str = strdup( (*it).latin1() ); - int err = mailimf_address_list_add_parse( addresses, str ); + int err = mailimf_address_list_add_parse( addresses, (char*)(*it).latin1() ); if ( err != MAILIMF_NO_ERROR ) { qDebug( "Error parsing" ); qDebug( *it ); - free( str ); } else { qDebug( "Parse success! %s",(*it).latin1()); } } return addresses; } mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail ) @@ -191,50 +189,48 @@ err_free: } mailmime *SMTPwrapper::buildTxtPart(const QString&str ) { mailmime *txtPart; mailmime_fields *fields; mailmime_content *content; mailmime_parameter *param; - char *txt = strdup( str.latin1() ); int err; param = mailmime_parameter_new( strdup( "charset" ), strdup( "iso-8859-1" ) ); if ( param == NULL ) goto err_free; content = mailmime_content_new_with_str( "text/plain" ); if ( content == NULL ) goto err_free_param; err = clist_append( content->ct_parameters, param ); if ( err != MAILIMF_NO_ERROR ) goto err_free_content; - fields = mailmime_fields_new_encoding( MAILMIME_MECHANISM_8BIT ); + fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_QUOTED_PRINTABLE); if ( fields == NULL ) goto err_free_content; txtPart = mailmime_new_empty( content, fields ); if ( txtPart == NULL ) goto err_free_fields; - err = mailmime_set_body_text( txtPart, txt, strlen( txt ) ); + err = mailmime_set_body_text( txtPart, (char*)str.data(), str.length() ); if ( err != MAILIMF_NO_ERROR ) goto err_free_txtPart; return txtPart; // Success :) err_free_txtPart: mailmime_free( txtPart ); err_free_fields: mailmime_fields_free( fields ); err_free_content: mailmime_content_free( content ); err_free_param: mailmime_parameter_free( param ); err_free: - free( txt ); qDebug( "buildTxtPart - error" ); return NULL; // Error :( } mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimetype,const QString&TextContent ) { mailmime * filePart = 0; @@ -247,32 +243,30 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety int pos = filename.findRev( '/' ); if (filename.length()>0) { QString tmp = filename.right( filename.length() - ( pos + 1 ) ); name = strdup( tmp.latin1() ); // just filename file = strdup( filename.latin1() ); // full name with path } - char *mime = strdup( mimetype.latin1() ); // mimetype -e.g. text/plain - + int disptype = MAILMIME_DISPOSITION_TYPE_ATTACHMENT; int mechanism = MAILMIME_MECHANISM_BASE64; if ( mimetype.startsWith( "text/" ) ) { param = mailmime_parameter_new( strdup( "charset" ), strdup( "iso-8859-1" ) ); - disptype = MAILMIME_DISPOSITION_TYPE_INLINE; mechanism = MAILMIME_MECHANISM_QUOTED_PRINTABLE; } fields = mailmime_fields_new_filename( disptype, name, mechanism ); - content = mailmime_content_new_with_str( mime ); + content = mailmime_content_new_with_str( (char*)mimetype.latin1() ); if (content!=0 && fields != 0) { if (param) { clist_append(content->ct_parameters,param); param = 0; } if (filename.length()>0) { QFileInfo f(filename); param = mailmime_parameter_new(strdup("name"),strdup(f.fileName().latin1())); @@ -280,35 +274,31 @@ mailmime *SMTPwrapper::buildFilePart(const QString&filename,const QString&mimety param = 0; } filePart = mailmime_new_empty( content, fields ); } if (filePart) { if (filename.length()>0) { err = mailmime_set_body_file( filePart, file ); } else { - err = mailmime_set_body_text(filePart,strdup(TextContent.ascii()),TextContent.length()); + err = mailmime_set_body_text(filePart,strdup(TextContent.data()),TextContent.length()); } if (err != MAILIMF_NO_ERROR) { qDebug("Error setting body with file %s",file); mailmime_free( filePart ); filePart = 0; } } if (!filePart) { if ( param != NULL ) { mailmime_parameter_free( param ); } if (content) { mailmime_content_free( content ); - } else { - if (mime) { - free( mime ); - } } if (fields) { mailmime_fields_free( fields ); } else { if (name) { free( name ); } if (file) { @@ -354,21 +344,18 @@ mailmime *SMTPwrapper::createMimeMail(const Mail &mail ) fields = createImfFields( mail ); if ( fields == NULL ) goto err_free; message = mailmime_new_message_data( NULL ); if ( message == NULL ) goto err_free_fields; mailmime_set_imf_fields( message, fields ); - if (mail.getAttachments().count()==0) { - txtPart = buildTxtPart( mail.getMessage() ); - } else { - txtPart = buildFilePart("","text/plain",mail.getMessage()); - } + txtPart = buildTxtPart( mail.getMessage() ); + if ( txtPart == NULL ) goto err_free_message; err = mailmime_smart_add_part( message, txtPart ); if ( err != MAILIMF_NO_ERROR ) goto err_free_txtPart; addFileParts( message, mail.getAttachments() ); return message; // Success :) @@ -466,17 +453,16 @@ char *SMTPwrapper::getFrom( mailimf_field *ffrom) return from; } char *SMTPwrapper::getFrom( mailmime *mail ) { /* no need to delete - its just a pointer to structure content */ mailimf_field *ffrom = 0; - char*f = 0; ffrom = getField( mail->mm_data.mm_message.mm_fields, MAILIMF_FIELD_FROM ); return getFrom(ffrom); } SMTPaccount *SMTPwrapper::getAccount(const QString&name ) { SMTPaccount *smtp; @@ -491,71 +477,16 @@ SMTPaccount *SMTPwrapper::getAccount(const QString&name ) return smtp; } } } return NULL; } -QString SMTPwrapper::getTmpFile() { - int num = 0; - QString unique; - - QDir dir( "/tmp" ); - - QStringList list = dir.entryList( "opiemail-tmp-*" ); - - do { - unique.setNum( num++ ); - } while ( list.contains( "opiemail-tmp-" + unique ) > 0 ); - - return "/tmp/opiemail-tmp-" + unique; -} - -void SMTPwrapper::writeToFile(const QString&file, mailmime *mail ) -{ - FILE *f; - int err, col = 0; - - f = fopen( file.latin1(), "w" ); - if ( f == NULL ) { - qDebug( "writeToFile: error opening file" ); - return; - } - - err = mailmime_write( f, &col, mail ); - if ( err != MAILIMF_NO_ERROR ) { - fclose( f ); - qDebug( "writeToFile: error writing mailmime" ); - return; - } - - fclose( f ); -} - -void SMTPwrapper::readFromFile(const QString&file, char **data, size_t *size ) -{ - - QFile msg_cache(file); - QString msg = ""; - msg_cache.open(IO_ReadOnly); - char*message = new char[4096]; - memset(message,0,4096); - while (msg_cache.readBlock(message,4095)>0) { - msg+=message; - memset(message,0,4096); - } - delete message; - *data = (char*)malloc(msg.length()+1*sizeof(char)); - memset(*data,0,msg.length()+1); - memcpy(*data,msg.ascii(),msg.length()); - *size=msg.length(); -} - void SMTPwrapper::progress( size_t current, size_t maximum ) { if (SMTPwrapper::sendProgress) { SMTPwrapper::sendProgress->setSingleMail(current, maximum ); qApp->processEvents(); } } @@ -573,25 +504,33 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ) clist *rcpts = 0; char *from, *data; size_t size; if ( smtp == NULL ) { return; } from = data = 0; - - QString file = getTmpFile(); - writeToFile( file, mail ); - readFromFile( file, &data, &size ); - QFile f( file ); - f.remove(); - + + mailmessage * msg = 0; + msg = mime_message_init(mail); + mime_message_set_tmpdir(msg,getenv( "HOME" )); + int r = mailmessage_fetch(msg,&data,&size); + mime_message_detach_mime(msg); + mailmessage_free(msg); + if (r != MAIL_NO_ERROR || !data) { + if (data) free(data); + qDebug("Error fetching mime..."); + return; + } + QString tmp = data; + tmp.replace(QRegExp("\r+",true,false),""); + msg = 0; if (later) { - storeMail(data,size,"Outgoing"); + storeMail((char*)tmp.data(),tmp.length(),"Outgoing"); if (data) free( data ); return; } from = getFrom( mail ); rcpts = createRcptList( mail->mm_data.mm_message.mm_fields ); smtpSend(from,rcpts,data,size,smtp); if (data) {free(data);} if (from) {free(from);} @@ -683,21 +622,21 @@ void SMTPwrapper::sendMail(const Mail&mail,bool later ) mimeMail = createMimeMail(mail ); if ( mimeMail == NULL ) { qDebug( "sendMail: error creating mime mail" ); } else { sendProgress = new progressMailSend(); sendProgress->show(); sendProgress->setMaxMails(1); smtpSend( mimeMail,later,smtp); - mailmime_free( mimeMail ); qDebug("Clean up done"); sendProgress->hide(); delete sendProgress; sendProgress = 0; + mailmime_free( mimeMail ); } } int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) { char*data = 0; size_t length = 0; size_t curTok = 0; @@ -742,17 +681,17 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which) /* this is a special fun */ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) { bool returnValue = true; if (!smtp) return false; - QString localfolders = (QString) getenv( "HOME" ) + QString("/Applications/opiemail/localmail/"); + QString localfolders = (QString) getenv( "HOME" ) + QString("/Applications/opiemail/localmail/"); MBOXwrapper*wrap = new MBOXwrapper(localfolders); if (!wrap) { qDebug("memory error"); return false; } QList<RecMail> mailsToSend; QList<RecMail> mailsToRemove; QString mbox("Outgoing"); @@ -765,17 +704,16 @@ bool SMTPwrapper::flushOutbox(SMTPaccount*smtp) sendProgress = new progressMailSend(); sendProgress->show(); sendProgress->setMaxMails(mailsToSend.count()); while (mailsToSend.count()>0) { if (sendQueuedMail(wrap,smtp,mailsToSend.at(0))==0) { QMessageBox::critical(0,tr("Error sending mail"), tr("Error sending queued mail - breaking")); - returnValue = false; break; } mailsToRemove.append(mailsToSend.at(0)); mailsToSend.removeFirst(); sendProgress->setCurrentMails(mailsToRemove.count()); } sendProgress->hide(); diff --git a/noncore/net/mail/smtpwrapper.h b/noncore/net/mail/smtpwrapper.h index 66180b7..f734fa4 100644 --- a/noncore/net/mail/smtpwrapper.h +++ b/noncore/net/mail/smtpwrapper.h @@ -38,22 +38,19 @@ protected: mailimf_address_list *parseAddresses(const QString&addr ); void addFileParts( mailmime *message,const QList<Attachment>&files ); mailmime *buildTxtPart(const QString&str ); mailmime *buildFilePart(const QString&filename,const QString&mimetype,const QString&content); void smtpSend( mailmime *mail,bool later, SMTPaccount *smtp ); clist *createRcptList( mailimf_fields *fields ); SMTPaccount *getAccount(const QString&from ); - void writeToFile(const QString&file, mailmime *mail ); - void readFromFile(const QString&file, char **data, size_t *size ); static void storeMail(char*mail, size_t length, const QString&box); static QString mailsmtpError( int err ); - static QString getTmpFile(); static void progress( size_t current, size_t maximum ); static void addRcpts( clist *list, mailimf_address_list *addr_list ); static char *getFrom( mailmime *mail ); static char *getFrom( mailimf_field *ffrom); static mailimf_field *getField( mailimf_fields *fields, int type ); int smtpSend(char*from,clist*rcpts,char*data,size_t size, SMTPaccount *smtp ); void storeMail(mailmime*mail, const QString&box); |