[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE_3_2_BRANCH: kdepim/kmail
From: Ingo Klöcker <kloecker () kde ! org>
Date: 2004-05-16 16:36:44
Message-ID: 20040516163644.90AF77AFF () office ! kde ! org
[Download RAW message or body]
CVS commit by kloecker:
Several people reported bugs with sending because they didn't specify their email \
address for the default identity. This patch tells those people about their error \
(yes, it introduces a new string, but IMO an untranslated error message is better \
than no error message especially because this 'bug' is reported repeatedly (e.g. \
53448, 78895, 80817, 81611 and many more)). Moreover the From header will be set to \
the email address of the message's identity or the default identity. So in case the \
user sets the email address for his identities the messages will get sent.
M +29 -4 kmsender.cpp 1.197.2.5
--- kdepim/kmail/kmsender.cpp #1.197.2.4:1.197.2.5
@@ -355,4 +355,29 @@ kdDebug(5006) << "KMSender::doSendMsg()
// See if there is another queued message
mCurrentMsg = kmkernel->outboxFolder()->getMsg(mFailedMessages);
+ if ( mCurrentMsg && !mCurrentMsg->transferInProgress() &&
+ mCurrentMsg->sender().isEmpty() ) {
+ // if we do not have a sender address then use the email address of the
+ // message's identity or of the default identity unless those two are also
+ // empty
+ const KMIdentity & id = kmkernel->identityManager()
+ ->identityForUoidOrDefault( mCurrentMsg->headerField( "X-KMail-Identity" \
).stripWhiteSpace().toUInt() ); + if ( !id.emailAddr().isEmpty() ) {
+ mCurrentMsg->setFrom( id.fullEmailAddr() );
+ }
+ else if ( !kmkernel->identityManager()->defaultIdentity().emailAddr().isEmpty() \
) { + mCurrentMsg->setFrom( \
kmkernel->identityManager()->defaultIdentity().fullEmailAddr() ); + }
+ else {
+ KMessageBox::sorry( 0, i18n( "It's not possible to send messages "
+ "without specifying a sender address.\n"
+ "Please set the email address of "
+ "identity '%1' in the Identities "
+ "section of the configuration dialog "
+ "and then try again." )
+ .arg( id.identityName() ) );
+ kmkernel->outboxFolder()->unGetMsg( mFailedMessages );
+ mCurrentMsg = 0;
+ }
+ }
if (!mCurrentMsg || mCurrentMsg->transferInProgress())
{
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic