summaryrefslogtreecommitdiff
authoralwin <alwin>2003-12-28 17:32:43 (UTC)
committer alwin <alwin>2003-12-28 17:32:43 (UTC)
commit696a2dcfcb65fbb24b709bbae0a18a7854e2d72c (patch) (side-by-side diff)
treee813c9508881796cf999e9c25c05e4482c6fd9e8
parentb900cad9c050c2d5963228a2191e13053457ef1d (diff)
downloadopie-696a2dcfcb65fbb24b709bbae0a18a7854e2d72c.zip
opie-696a2dcfcb65fbb24b709bbae0a18a7854e2d72c.tar.gz
opie-696a2dcfcb65fbb24b709bbae0a18a7854e2d72c.tar.bz2
reduced to the max...
- from address isn't setup any longer within the smtp account (it makes realy no sense, a smtp account describes the connection to a smtp server, not the identity of the sender) - from address is taken from the personal info of the addressbook (thats why this info exists). Of course the user can change it when sending an email. - user can select a from with a selection of the mails given in their personal infos. - in addresspicker: use "<Firstname> <Lastname>" instead of "Filename" - settings ui: switched of the part within the smtp accounts describing the identitiy of user ToDo: a dialog setting up a default signature
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/addresspicker.cpp2
-rw-r--r--noncore/net/mail/composemail.cpp48
-rw-r--r--noncore/net/mail/composemailui.ui186
-rw-r--r--noncore/net/mail/editaccounts.cpp23
-rw-r--r--noncore/net/mail/libmailwrapper/settings.cpp25
-rw-r--r--noncore/net/mail/libmailwrapper/settings.h20
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.cpp54
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.h3
-rw-r--r--noncore/net/mail/settings.cpp25
-rw-r--r--noncore/net/mail/settings.h20
-rw-r--r--noncore/net/mail/smtpconfigui.ui401
-rw-r--r--noncore/net/mail/smtpwrapper.cpp54
-rw-r--r--noncore/net/mail/smtpwrapper.h3
13 files changed, 322 insertions, 542 deletions
diff --git a/noncore/net/mail/addresspicker.cpp b/noncore/net/mail/addresspicker.cpp
index 581de62..7857870 100644
--- a/noncore/net/mail/addresspicker.cpp
+++ b/noncore/net/mail/addresspicker.cpp
@@ -35,3 +35,3 @@ AddressPicker::AddressPicker( QWidget *parent, const char *name, bool modal, WFl
if ((*it).fileAs().length()>0) {
- pre = "\""+(*it).fileAs()+"\" <";
+ pre = "\""+(*it).firstName()+" "+(*it).lastName()+"\" <";
suf = ">";
diff --git a/noncore/net/mail/composemail.cpp b/noncore/net/mail/composemail.cpp
index 73d1a43..13c7900 100644
--- a/noncore/net/mail/composemail.cpp
+++ b/noncore/net/mail/composemail.cpp
@@ -5,2 +5,4 @@
#include <qpe/config.h>
+#include <qpe/global.h>
+#include <qpe/contact.h>
@@ -14,2 +16,22 @@ ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool m
+ QString vfilename = Global::applicationFileName("addressbook",
+ "businesscard.vcf");
+ Contact c;
+ if (QFile::exists(vfilename)) {
+ c = Contact::readVCard( vfilename )[0];
+ }
+
+ QStringList mails = c.emailList();
+ QString defmail = c.defaultEmail();
+
+ if (defmail.length()!=0) {
+ fromBox->insertItem(defmail);
+ }
+ QStringList::ConstIterator sit = mails.begin();
+ for (;sit!=mails.end();++sit) {
+ if ( (*sit)==defmail)
+ continue;
+ fromBox->insertItem((*sit));
+ }
+ senderNameEdit->setText(c.firstName()+" "+c.lastName());
Config cfg( "mail" );
@@ -22,2 +44,3 @@ ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool m
QList<Account> accounts = settings->getAccounts();
+
Account *it;
@@ -26,3 +49,3 @@ ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool m
SMTPaccount *smtp = static_cast<SMTPaccount *>(it);
- fromBox->insertItem( smtp->getMail() );
+ smtpAccountBox->insertItem( smtp->getAccountName() );
smtpAccounts.append( smtp );
@@ -32,3 +55,3 @@ ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool m
if ( smtpAccounts.count() > 0 ) {
- fillValues( fromBox->currentItem() );
+ fillValues( smtpAccountBox->currentItem() );
} else {
@@ -40,3 +63,3 @@ ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool m
- connect( fromBox, SIGNAL( activated( int ) ), SLOT( fillValues( int ) ) );
+ connect( smtpAccountBox, SIGNAL( activated( int ) ), SLOT( fillValues( int ) ) );
connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) );
@@ -110,4 +133,4 @@ void ComposeMail::fillValues( int current )
{
+#if 0
SMTPaccount *smtp = smtpAccounts.at( current );
-
ccLine->clear();
@@ -124,4 +147,4 @@ void ComposeMail::fillValues( int current )
}
-
sigMultiLine->setText( smtp->getSignature() );
+#endif
}
@@ -165,10 +188,10 @@ void ComposeMail::accept()
-
+#if 0
qDebug( "Sending Mail with " +
- smtpAccounts.at( fromBox->currentItem() )->getAccountName() );
+ smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() );
+#endif
Mail *mail = new Mail();
- SMTPaccount *smtp = smtpAccounts.at( fromBox->currentItem() );
- mail->setMail( smtp->getMail() );
- mail->setName( smtp->getName() );
+ SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() );
+ mail->setMail(fromBox->currentText());
@@ -180,3 +203,3 @@ void ComposeMail::accept()
}
-
+ mail->setName(senderNameEdit->text());
mail->setCC( ccLine->text() );
@@ -190,2 +213,3 @@ void ComposeMail::accept()
}
+ qDebug(txt);
mail->setMessage( txt );
@@ -198,3 +222,3 @@ void ComposeMail::accept()
SMTPwrapper wrapper( settings );
- wrapper.sendMail( *mail,checkBoxLater->isChecked() );
+ wrapper.sendMail( *mail,smtp,checkBoxLater->isChecked() );
diff --git a/noncore/net/mail/composemailui.ui b/noncore/net/mail/composemailui.ui
index 4d225e4..aebdf67 100644
--- a/noncore/net/mail/composemailui.ui
+++ b/noncore/net/mail/composemailui.ui
@@ -13,3 +13,3 @@
<y>0</y>
- <width>260</width>
+ <width>252</width>
<height>360</height>
@@ -30,3 +30,3 @@
<name>margin</name>
- <number>3</number>
+ <number>1</number>
</property>
@@ -34,5 +34,23 @@
<name>spacing</name>
- <number>3</number>
+ <number>1</number>
</property>
<widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout4</cstring>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>3</number>
+ </property>
+ <widget row="0" column="0" >
<class>QCheckBox</class>
@@ -47,2 +65,29 @@
</widget>
+ <widget row="0" column="1" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>accountLabel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>use:</string>
+ </property>
+ </widget>
+ <widget row="0" column="2" >
+ <class>QComboBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>smtpAccountBox</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ </widget>
+ </grid>
+ </widget>
<widget>
@@ -69,2 +114,38 @@
</attribute>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>1</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>1</number>
+ </property>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout10</cstring>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>1</number>
+ </property>
+ <widget row="0" column="1" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout9</cstring>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
<grid>
@@ -72,3 +153,3 @@
<name>margin</name>
- <number>-1</number>
+ <number>0</number>
</property>
@@ -76,4 +157,56 @@
<name>spacing</name>
- <number>-1</number>
+ <number>3</number>
</property>
+ <widget row="0" column="1" >
+ <class>QComboBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>fromBox</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>editable</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>duplicatesEnabled</name>
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget row="0" column="0" >
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>senderNameEdit</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>minimumSize</name>
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property stdset="1">
+ <name>maximumSize</name>
+ <size>
+ <width>70</width>
+ <height>32767</height>
+ </size>
+ </property>
+ </widget>
+ </grid>
+ </widget>
<widget row="2" column="1" >
@@ -84,8 +217,22 @@
</property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
</widget>
- <widget row="3" column="0" rowspan="1" colspan="2" >
- <class>QMultiLineEdit</class>
+ <widget row="1" column="1" >
+ <class>QLineEdit</class>
<property stdset="1">
<name>name</name>
- <cstring>message</cstring>
+ <cstring>toLine</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
</property>
@@ -114,16 +261,2 @@
</widget>
- <widget row="1" column="1" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>toLine</cstring>
- </property>
- </widget>
- <widget row="0" column="1" >
- <class>QComboBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>fromBox</cstring>
- </property>
- </widget>
<widget row="1" column="0" >
@@ -142,2 +275,11 @@
<widget>
+ <class>QMultiLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>message</cstring>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget>
<class>QWidget</class>
diff --git a/noncore/net/mail/editaccounts.cpp b/noncore/net/mail/editaccounts.cpp
index 1246037..de36e0d 100644
--- a/noncore/net/mail/editaccounts.cpp
+++ b/noncore/net/mail/editaccounts.cpp
@@ -357,5 +357,2 @@ SMTPconfig::SMTPconfig( SMTPaccount *account, QWidget *parent, const char *name,
- connect( ccBox, SIGNAL( toggled( bool ) ), ccLine, SLOT( setEnabled( bool ) ) );
- connect( bccBox, SIGNAL( toggled( bool ) ), bccLine, SLOT( setEnabled( bool ) ) );
- connect( replyBox, SIGNAL( toggled( bool ) ), replyLine, SLOT( setEnabled( bool ) ) );
connect( loginBox, SIGNAL( toggled( bool ) ), userLine, SLOT( setEnabled( bool ) ) );
@@ -386,12 +383,2 @@ void SMTPconfig::fillValues()
passLine->setText( data->getPassword() );
- nameLine->setText( data->getName() );
- mailLine->setText( data->getMail() );
- orgLine->setText( data->getOrg() );
- ccBox->setChecked( data->getUseCC() );
- ccLine->setText( data->getCC() );
- bccBox->setChecked( data->getUseBCC() );
- bccLine->setText( data->getBCC() );
- replyBox->setChecked( data->getUseReply() );
- replyLine->setText( data->getReply() );
- sigMultiLine->setText( data->getSignature() );
}
@@ -407,12 +394,2 @@ void SMTPconfig::accept()
data->setPassword( passLine->text() );
- data->setName( nameLine->text() );
- data->setMail( mailLine->text() );
- data->setOrg( orgLine->text() );
- data->setCC( ccLine->text() );
- data->setUseCC( ccBox->isChecked() );
- data->setBCC( bccLine->text() );
- data->setUseBCC( bccBox->isChecked() );
- data->setReply( replyLine->text() );
- data->setUseReply( replyBox->isChecked() );
- data->setSignature( sigMultiLine->text() );
diff --git a/noncore/net/mail/libmailwrapper/settings.cpp b/noncore/net/mail/libmailwrapper/settings.cpp
index b580954..17aa1b0 100644
--- a/noncore/net/mail/libmailwrapper/settings.cpp
+++ b/noncore/net/mail/libmailwrapper/settings.cpp
@@ -275,5 +275,2 @@ SMTPaccount::SMTPaccount( QString filename )
login = false;
- useCC = false;
- useBCC = false;
- useReply = false;
type = "SMTP";
@@ -308,13 +305,2 @@ void SMTPaccount::read()
password = conf->readEntryCrypt( "Password" );
- useCC = conf->readBoolEntry( "useCC" );
- useBCC = conf->readBoolEntry( "useBCC" );
- useReply = conf->readBoolEntry( "useReply" );
- name = conf->readEntry( "Name" );
- mail = conf->readEntry( "Mail" );
- org = conf->readEntry( "Org" );
- cc = conf->readEntry( "CC" );
- bcc = conf->readEntry( "BCC" );
- reply = conf->readEntry( "Reply" );
- signature = conf->readEntry( "Signature" );
- signature = signature.replace( QRegExp( "<br>" ), "\n" );
}
@@ -335,13 +321,2 @@ void SMTPaccount::save()
conf->writeEntryCrypt( "Password", password );
- conf->writeEntry( "useCC", useCC );
- conf->writeEntry( "useBCC", useBCC );
- conf->writeEntry( "useReply", useReply );
- conf->writeEntry( "Name", name );
- conf->writeEntry( "Mail", mail );
- conf->writeEntry( "Org", org );
- conf->writeEntry( "CC", cc );
- conf->writeEntry( "BCC", bcc );
- conf->writeEntry( "Reply", reply );
- conf->writeEntry( "Signature",
- signature.replace( QRegExp( "\\n" ), "<br>" ) );
conf->write();
diff --git a/noncore/net/mail/libmailwrapper/settings.h b/noncore/net/mail/libmailwrapper/settings.h
index 22184a5..caa5dfc 100644
--- a/noncore/net/mail/libmailwrapper/settings.h
+++ b/noncore/net/mail/libmailwrapper/settings.h
@@ -95,22 +95,2 @@ public:
- void setName( QString str ) { name = str; }
- QString getName() { return name; }
- void setMail( QString str ) { mail = str; }
- QString getMail() { return mail; }
- void setOrg( QString str ) { org = str; }
- QString getOrg() { return org; }
- void setUseCC( bool b ) { useCC = b; }
- bool getUseCC() { return useCC; }
- void setCC( QString str ) { cc = str; }
- QString getCC() { return cc; }
- void setUseBCC( bool b ) { useBCC = b; }
- bool getUseBCC() { return useBCC; }
- void setBCC( QString str ) { bcc = str; }
- QString getBCC() { return bcc; }
- void setUseReply( bool b ) { useReply = b; }
- bool getUseReply() { return useReply; }
- void setReply( QString str ) { reply = str; }
- QString getReply() { return reply; }
- void setSignature( QString str ) { signature = str; }
- QString getSignature() { return signature; }
void setLogin( bool b ) { login = b; }
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
index 521cd0a..30c0707 100644
--- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
@@ -130,5 +130,5 @@ mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail )
mailimf_field *xmailer;
- mailimf_mailbox *sender, *fromBox;
- mailimf_mailbox_list *from;
- mailimf_address_list *to, *cc, *bcc, *reply;
+ mailimf_mailbox *sender=0,*fromBox=0;
+ mailimf_mailbox_list *from=0;
+ mailimf_address_list *to=0, *cc=0, *bcc=0, *reply=0;
char *subject = strdup( mail.getSubject().latin1() );
@@ -169,12 +169,12 @@ mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail )
err_free_xmailer:
- mailimf_field_free( xmailer );
+ if (xmailer) mailimf_field_free( xmailer );
err_free_fields:
- mailimf_fields_free( fields );
+ if (fields) mailimf_fields_free( fields );
err_free_reply:
- mailimf_address_list_free( reply );
- mailimf_address_list_free( bcc );
- mailimf_address_list_free( cc );
- mailimf_address_list_free( to );
+ if (reply) mailimf_address_list_free( reply );
+ if (bcc) mailimf_address_list_free( bcc );
+ if (cc) mailimf_address_list_free( cc );
+ if (to) mailimf_address_list_free( to );
err_free_from:
- mailimf_mailbox_list_free( from );
+ if (from) mailimf_mailbox_list_free( from );
err_free_fromBox:
@@ -182,5 +182,5 @@ err_free_fromBox:
err_free_sender:
- mailimf_mailbox_free( sender );
+ if (sender) mailimf_mailbox_free( sender );
err_free:
- free( subject );
+ if (subject) free( subject );
qDebug( "createImfFields - error" );
@@ -208,3 +208,3 @@ mailmime *SMTPwrapper::buildTxtPart(const QString&str )
- fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_QUOTED_PRINTABLE);
+ fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_8BIT);
if ( fields == NULL ) goto err_free_content;
@@ -464,22 +464,2 @@ char *SMTPwrapper::getFrom( mailmime *mail )
-SMTPaccount *SMTPwrapper::getAccount(const QString&name )
-{
- SMTPaccount *smtp;
-
- QList<Account> list = settings->getAccounts();
- Account *it;
- for ( it = list.first(); it; it = list.next() ) {
- if ( it->getType().compare( "SMTP" ) == 0 ) {
- smtp = static_cast<SMTPaccount *>(it);
- if ( smtp->getName()== name ) {
- qDebug( "SMTPaccount found for" );
- qDebug( name );
- return smtp;
- }
- }
- }
-
- return NULL;
-}
-
void SMTPwrapper::progress( size_t current, size_t maximum )
@@ -615,3 +595,3 @@ free_mem:
-void SMTPwrapper::sendMail(const Mail&mail,bool later )
+void SMTPwrapper::sendMail(const Mail&mail,SMTPaccount*aSmtp,bool later )
{
@@ -619,4 +599,8 @@ void SMTPwrapper::sendMail(const Mail&mail,bool later )
- SMTPaccount *smtp = getAccount(mail.getName());
+ SMTPaccount *smtp = aSmtp;
+ if (!later && !smtp) {
+ qDebug("Didn't get any send method - giving up");
+ return;
+ }
mimeMail = createMimeMail(mail );
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.h b/noncore/net/mail/libmailwrapper/smtpwrapper.h
index f734fa4..0535983 100644
--- a/noncore/net/mail/libmailwrapper/smtpwrapper.h
+++ b/noncore/net/mail/libmailwrapper/smtpwrapper.h
@@ -29,3 +29,3 @@ public:
virtual ~SMTPwrapper(){}
- void sendMail(const Mail& mail,bool later=false );
+ void sendMail(const Mail& mail,SMTPaccount*smtp,bool later=false );
bool flushOutbox(SMTPaccount*smtp);
@@ -44,3 +44,2 @@ protected:
clist *createRcptList( mailimf_fields *fields );
- SMTPaccount *getAccount(const QString&from );
diff --git a/noncore/net/mail/settings.cpp b/noncore/net/mail/settings.cpp
index b580954..17aa1b0 100644
--- a/noncore/net/mail/settings.cpp
+++ b/noncore/net/mail/settings.cpp
@@ -275,5 +275,2 @@ SMTPaccount::SMTPaccount( QString filename )
login = false;
- useCC = false;
- useBCC = false;
- useReply = false;
type = "SMTP";
@@ -308,13 +305,2 @@ void SMTPaccount::read()
password = conf->readEntryCrypt( "Password" );
- useCC = conf->readBoolEntry( "useCC" );
- useBCC = conf->readBoolEntry( "useBCC" );
- useReply = conf->readBoolEntry( "useReply" );
- name = conf->readEntry( "Name" );
- mail = conf->readEntry( "Mail" );
- org = conf->readEntry( "Org" );
- cc = conf->readEntry( "CC" );
- bcc = conf->readEntry( "BCC" );
- reply = conf->readEntry( "Reply" );
- signature = conf->readEntry( "Signature" );
- signature = signature.replace( QRegExp( "<br>" ), "\n" );
}
@@ -335,13 +321,2 @@ void SMTPaccount::save()
conf->writeEntryCrypt( "Password", password );
- conf->writeEntry( "useCC", useCC );
- conf->writeEntry( "useBCC", useBCC );
- conf->writeEntry( "useReply", useReply );
- conf->writeEntry( "Name", name );
- conf->writeEntry( "Mail", mail );
- conf->writeEntry( "Org", org );
- conf->writeEntry( "CC", cc );
- conf->writeEntry( "BCC", bcc );
- conf->writeEntry( "Reply", reply );
- conf->writeEntry( "Signature",
- signature.replace( QRegExp( "\\n" ), "<br>" ) );
conf->write();
diff --git a/noncore/net/mail/settings.h b/noncore/net/mail/settings.h
index 22184a5..caa5dfc 100644
--- a/noncore/net/mail/settings.h
+++ b/noncore/net/mail/settings.h
@@ -95,22 +95,2 @@ public:
- void setName( QString str ) { name = str; }
- QString getName() { return name; }
- void setMail( QString str ) { mail = str; }
- QString getMail() { return mail; }
- void setOrg( QString str ) { org = str; }
- QString getOrg() { return org; }
- void setUseCC( bool b ) { useCC = b; }
- bool getUseCC() { return useCC; }
- void setCC( QString str ) { cc = str; }
- QString getCC() { return cc; }
- void setUseBCC( bool b ) { useBCC = b; }
- bool getUseBCC() { return useBCC; }
- void setBCC( QString str ) { bcc = str; }
- QString getBCC() { return bcc; }
- void setUseReply( bool b ) { useReply = b; }
- bool getUseReply() { return useReply; }
- void setReply( QString str ) { reply = str; }
- QString getReply() { return reply; }
- void setSignature( QString str ) { signature = str; }
- QString getSignature() { return signature; }
void setLogin( bool b ) { login = b; }
diff --git a/noncore/net/mail/smtpconfigui.ui b/noncore/net/mail/smtpconfigui.ui
index 2cae8d6..f5ce8cb 100644
--- a/noncore/net/mail/smtpconfigui.ui
+++ b/noncore/net/mail/smtpconfigui.ui
@@ -13,4 +13,4 @@
<y>0</y>
- <width>253</width>
- <height>342</height>
+ <width>241</width>
+ <height>321</height>
</rect>
@@ -30,3 +30,3 @@
<name>margin</name>
- <number>0</number>
+ <number>2</number>
</property>
@@ -34,16 +34,9 @@
<name>spacing</name>
- <number>0</number>
+ <number>2</number>
</property>
<widget>
- <class>QTabWidget</class>
+ <class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>smtpTab</cstring>
- </property>
- <property stdset="1">
- <name>caption</name>
- <string></string>
- </property>
- <property>
- <name>layoutMargin</name>
+ <cstring>Layout4</cstring>
</property>
@@ -52,12 +45,2 @@
</property>
- <widget>
- <class>QWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>serverTab</cstring>
- </property>
- <attribute>
- <name>title</name>
- <string>Server</string>
- </attribute>
<grid>
@@ -65,3 +48,3 @@
<name>margin</name>
- <number>4</number>
+ <number>0</number>
</property>
@@ -69,49 +52,5 @@
<name>spacing</name>
- <number>3</number>
+ <number>2</number>
</property>
- <widget row="3" column="0" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>portLabel</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Port</string>
- </property>
- </widget>
- <widget row="2" column="1" rowspan="1" colspan="2" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>serverLine</cstring>
- </property>
- <property>
- <name>toolTip</name>
- <string>Name of the SMTP Server</string>
- </property>
- </widget>
- <widget row="2" column="0" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>serverLabel</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Server</string>
- </property>
- </widget>
- <widget row="3" column="1" rowspan="1" colspan="2" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>portLine</cstring>
- </property>
- <property>
- <name>toolTip</name>
- <string>Port of the SMTP Server</string>
- </property>
- </widget>
- <widget row="0" column="0" >
+ <widget row="0" column="0" rowspan="1" colspan="2" >
<class>QLabel</class>
@@ -126,47 +65,3 @@
</widget>
- <widget row="0" column="1" rowspan="1" colspan="2" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>accountLine</cstring>
- </property>
- <property>
- <name>toolTip</name>
- <string>Name of the Account</string>
- </property>
- </widget>
- <widget row="1" column="0" rowspan="1" colspan="3" >
- <class>Line</class>
- <property stdset="1">
- <name>name</name>
- <cstring>line1</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Horizontal</enum>
- </property>
- </widget>
- <widget row="4" column="1" >
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>sslBox</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Use SSL</string>
- </property>
- </widget>
- <widget row="5" column="0" rowspan="1" colspan="3" >
- <class>Line</class>
- <property stdset="1">
- <name>name</name>
- <cstring>line2</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Horizontal</enum>
- </property>
- </widget>
- <widget row="8" column="1" rowspan="1" colspan="2" >
+ <widget row="8" column="2" >
<class>QLineEdit</class>
@@ -185,3 +80,3 @@
</widget>
- <widget row="6" column="1" rowspan="1" colspan="2" >
+ <widget row="4" column="0" rowspan="1" colspan="3" >
<class>QCheckBox</class>
@@ -189,14 +84,3 @@
<name>name</name>
- <cstring>loginBox</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Use Login</string>
- </property>
- </widget>
- <widget row="8" column="0" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>passLabel</cstring>
+ <cstring>sslBox</cstring>
</property>
@@ -204,10 +88,10 @@
<name>text</name>
- <string>Password</string>
+ <string>Use SSL</string>
</property>
</widget>
- <widget row="7" column="0" >
- <class>QLabel</class>
+ <widget row="6" column="0" rowspan="1" colspan="3" >
+ <class>QCheckBox</class>
<property stdset="1">
<name>name</name>
- <cstring>userLabel</cstring>
+ <cstring>loginBox</cstring>
</property>
@@ -215,6 +99,6 @@
<name>text</name>
- <string>User</string>
+ <string>Use Login</string>
</property>
</widget>
- <widget row="7" column="1" rowspan="1" colspan="2" >
+ <widget row="0" column="2" >
<class>QLineEdit</class>
@@ -222,77 +106,3 @@
<name>name</name>
- <cstring>userLine</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- </widget>
- <spacer row="9" column="2" >
- <property>
- <name>name</name>
- <cstring>spacer</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Vertical</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </grid>
- </widget>
- <widget>
- <class>QWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>identityTab</cstring>
- </property>
- <attribute>
- <name>title</name>
- <string>Identity</string>
- </attribute>
- <grid>
- <property stdset="1">
- <name>margin</name>
- <number>4</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>3</number>
- </property>
- <widget row="9" column="0" rowspan="1" colspan="4" >
- <class>QMultiLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>sigMultiLine</cstring>
- </property>
- </widget>
- <spacer row="10" column="3" >
- <property>
- <name>name</name>
- <cstring>Spacer3</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Vertical</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
+ <cstring>accountLine</cstring>
</property>
@@ -302,26 +112,4 @@
</property>
- </spacer>
- <widget row="8" column="0" rowspan="1" colspan="3" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>sigLabel</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Signature</string>
- </property>
- </widget>
- <widget row="6" column="2" rowspan="1" colspan="2" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>replyLine</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
</widget>
- <widget row="5" column="2" rowspan="1" colspan="2" >
+ <widget row="2" column="1" rowspan="1" colspan="2" >
<class>QLineEdit</class>
@@ -329,10 +117,10 @@
<name>name</name>
- <cstring>bccLine</cstring>
+ <cstring>serverLine</cstring>
</property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
+ <property>
+ <name>toolTip</name>
+ <string>Name of the SMTP Server</string>
</property>
</widget>
- <widget row="4" column="2" rowspan="1" colspan="2" >
+ <widget row="7" column="2" >
<class>QLineEdit</class>
@@ -340,3 +128,3 @@
<name>name</name>
- <cstring>ccLine</cstring>
+ <cstring>userLine</cstring>
</property>
@@ -347,18 +135,7 @@
</widget>
- <widget row="5" column="0" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>bccBox</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>BCC</string>
- </property>
- </widget>
- <widget row="6" column="0" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
+ <widget row="8" column="0" rowspan="1" colspan="2" >
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>replyBox</cstring>
+ <cstring>passLabel</cstring>
</property>
@@ -366,10 +143,10 @@
<name>text</name>
- <string>Reply-To</string>
+ <string>Password</string>
</property>
</widget>
- <widget row="4" column="0" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
+ <widget row="3" column="0" >
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>ccBox</cstring>
+ <cstring>portLabel</cstring>
</property>
@@ -377,6 +154,6 @@
<name>text</name>
- <string>CC</string>
+ <string>Port</string>
</property>
</widget>
- <widget row="1" column="0" >
+ <widget row="2" column="0" >
<class>QLabel</class>
@@ -384,3 +161,3 @@
<name>name</name>
- <cstring>mailLabel</cstring>
+ <cstring>serverLabel</cstring>
</property>
@@ -388,6 +165,6 @@
<name>text</name>
- <string>E-Mail</string>
+ <string>Server</string>
</property>
</widget>
- <widget row="0" column="1" rowspan="1" colspan="3" >
+ <widget row="3" column="1" rowspan="1" colspan="2" >
<class>QLineEdit</class>
@@ -395,3 +172,3 @@
<name>name</name>
- <cstring>nameLine</cstring>
+ <cstring>portLine</cstring>
</property>
@@ -399,17 +176,24 @@
<name>toolTip</name>
- <string>Your Full Name</string>
+ <string>Port of the SMTP Server</string>
</property>
</widget>
- <widget row="0" column="0" >
- <class>QLabel</class>
+ <widget row="1" column="0" rowspan="1" colspan="3" >
+ <class>Line</class>
<property stdset="1">
<name>name</name>
- <cstring>nameLabel</cstring>
+ <cstring>line1</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>Name</string>
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
</property>
</widget>
- <widget row="2" column="0" >
+ <widget row="7" column="0" rowspan="1" colspan="2" >
<class>QLabel</class>
@@ -417,3 +201,3 @@
<name>name</name>
- <cstring>orgLabel</cstring>
+ <cstring>userLabel</cstring>
</property>
@@ -421,38 +205,17 @@
<name>text</name>
- <string>Org.</string>
- </property>
- <property>
- <name>layoutMargin</name>
- </property>
- <property>
- <name>layoutSpacing</name>
- </property>
- </widget>
- <widget row="2" column="1" rowspan="1" colspan="3" >
- <class>QLineEdit</class>
- <property stdset="1">
- <name>name</name>
- <cstring>orgLine</cstring>
- </property>
- <property>
- <name>toolTip</name>
- <string>Your Organisation</string>
+ <string>User</string>
</property>
</widget>
- <widget row="1" column="1" rowspan="1" colspan="3" >
- <class>QLineEdit</class>
+ <widget row="5" column="0" rowspan="1" colspan="3" >
+ <class>Line</class>
<property stdset="1">
<name>name</name>
- <cstring>mailLine</cstring>
- </property>
- <property>
- <name>toolTip</name>
- <string>Your E-Mail Adress</string>
+ <cstring>line2</cstring>
</property>
- </widget>
- <widget row="3" column="0" rowspan="1" colspan="4" >
- <class>Line</class>
<property stdset="1">
- <name>name</name>
- <cstring>line3</cstring>
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
</property>
@@ -463,7 +226,8 @@
</widget>
- <widget row="7" column="0" rowspan="1" colspan="4" >
- <class>Line</class>
- <property stdset="1">
+ </grid>
+ </widget>
+ <spacer>
+ <property>
<name>name</name>
- <cstring>line4</cstring>
+ <cstring>spacer</cstring>
</property>
@@ -471,8 +235,16 @@
<name>orientation</name>
- <enum>Horizontal</enum>
+ <enum>Vertical</enum>
</property>
- </widget>
- </grid>
- </widget>
- </widget>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
</vbox>
@@ -487,13 +259,2 @@
<tabstop>passLine</tabstop>
- <tabstop>smtpTab</tabstop>
- <tabstop>nameLine</tabstop>
- <tabstop>mailLine</tabstop>
- <tabstop>orgLine</tabstop>
- <tabstop>ccBox</tabstop>
- <tabstop>ccLine</tabstop>
- <tabstop>bccBox</tabstop>
- <tabstop>bccLine</tabstop>
- <tabstop>replyBox</tabstop>
- <tabstop>replyLine</tabstop>
- <tabstop>sigMultiLine</tabstop>
</tabstops>
diff --git a/noncore/net/mail/smtpwrapper.cpp b/noncore/net/mail/smtpwrapper.cpp
index 521cd0a..30c0707 100644
--- a/noncore/net/mail/smtpwrapper.cpp
+++ b/noncore/net/mail/smtpwrapper.cpp
@@ -130,5 +130,5 @@ mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail )
mailimf_field *xmailer;
- mailimf_mailbox *sender, *fromBox;
- mailimf_mailbox_list *from;
- mailimf_address_list *to, *cc, *bcc, *reply;
+ mailimf_mailbox *sender=0,*fromBox=0;
+ mailimf_mailbox_list *from=0;
+ mailimf_address_list *to=0, *cc=0, *bcc=0, *reply=0;
char *subject = strdup( mail.getSubject().latin1() );
@@ -169,12 +169,12 @@ mailimf_fields *SMTPwrapper::createImfFields(const Mail&mail )
err_free_xmailer:
- mailimf_field_free( xmailer );
+ if (xmailer) mailimf_field_free( xmailer );
err_free_fields:
- mailimf_fields_free( fields );
+ if (fields) mailimf_fields_free( fields );
err_free_reply:
- mailimf_address_list_free( reply );
- mailimf_address_list_free( bcc );
- mailimf_address_list_free( cc );
- mailimf_address_list_free( to );
+ if (reply) mailimf_address_list_free( reply );
+ if (bcc) mailimf_address_list_free( bcc );
+ if (cc) mailimf_address_list_free( cc );
+ if (to) mailimf_address_list_free( to );
err_free_from:
- mailimf_mailbox_list_free( from );
+ if (from) mailimf_mailbox_list_free( from );
err_free_fromBox:
@@ -182,5 +182,5 @@ err_free_fromBox:
err_free_sender:
- mailimf_mailbox_free( sender );
+ if (sender) mailimf_mailbox_free( sender );
err_free:
- free( subject );
+ if (subject) free( subject );
qDebug( "createImfFields - error" );
@@ -208,3 +208,3 @@ mailmime *SMTPwrapper::buildTxtPart(const QString&str )
- fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_QUOTED_PRINTABLE);
+ fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_8BIT);
if ( fields == NULL ) goto err_free_content;
@@ -464,22 +464,2 @@ char *SMTPwrapper::getFrom( mailmime *mail )
-SMTPaccount *SMTPwrapper::getAccount(const QString&name )
-{
- SMTPaccount *smtp;
-
- QList<Account> list = settings->getAccounts();
- Account *it;
- for ( it = list.first(); it; it = list.next() ) {
- if ( it->getType().compare( "SMTP" ) == 0 ) {
- smtp = static_cast<SMTPaccount *>(it);
- if ( smtp->getName()== name ) {
- qDebug( "SMTPaccount found for" );
- qDebug( name );
- return smtp;
- }
- }
- }
-
- return NULL;
-}
-
void SMTPwrapper::progress( size_t current, size_t maximum )
@@ -615,3 +595,3 @@ free_mem:
-void SMTPwrapper::sendMail(const Mail&mail,bool later )
+void SMTPwrapper::sendMail(const Mail&mail,SMTPaccount*aSmtp,bool later )
{
@@ -619,4 +599,8 @@ void SMTPwrapper::sendMail(const Mail&mail,bool later )
- SMTPaccount *smtp = getAccount(mail.getName());
+ SMTPaccount *smtp = aSmtp;
+ if (!later && !smtp) {
+ qDebug("Didn't get any send method - giving up");
+ return;
+ }
mimeMail = createMimeMail(mail );
diff --git a/noncore/net/mail/smtpwrapper.h b/noncore/net/mail/smtpwrapper.h
index f734fa4..0535983 100644
--- a/noncore/net/mail/smtpwrapper.h
+++ b/noncore/net/mail/smtpwrapper.h
@@ -29,3 +29,3 @@ public:
virtual ~SMTPwrapper(){}
- void sendMail(const Mail& mail,bool later=false );
+ void sendMail(const Mail& mail,SMTPaccount*smtp,bool later=false );
bool flushOutbox(SMTPaccount*smtp);
@@ -44,3 +44,2 @@ protected:
clist *createRcptList( mailimf_fields *fields );
- SMTPaccount *getAccount(const QString&from );