diff --git a/kmcomposewin.cpp b/kmcomposewin.cpp
index 8eb9a3e62..7f370b50d 100644
--- a/kmcomposewin.cpp
+++ b/kmcomposewin.cpp
@@ -3588,6 +3588,20 @@ void KMComposeWin::slotContinuePrint( bool rc )
}
}
+//----------------------------------------------------------------------------
+bool KMComposeWin::validateAddresses( QWidget * parent, const QString & addresses )
+{
+ QString brokenAddress;
+ KPIM::EmailParseResult errorCode = KMMessage::isValidEmailAddressList( KMMessage::expandAliases( addresses ), brokenAddress );
+ if ( !( errorCode == KPIM::AddressOk || errorCode == KPIM::AddressEmpty ) ) {
+ QString errorMsg( "" + brokenAddress +
+ "
" + KPIM::emailParseResultToString( errorCode ) +
+ "
" );
+ KMessageBox::sorry( parent, errorMsg, i18n("Invalid Email Address") );
+ return false;
+ }
+ return true;
+}
//----------------------------------------------------------------------------
void KMComposeWin::doSend(int aSendNow, bool saveInDrafts)
@@ -3620,40 +3634,16 @@ void KMComposeWin::doSend(int aSendNow, bool saveInDrafts)
}
// Validate the To:, CC: and BCC fields
- if ( !to().isEmpty() ) {
- QString brokenAddress;
- KPIM::EmailParseResult errorCode = KMMessage::isValidEmailAddressList( KMMessage::expandAliases( to()), brokenAddress );
- if ( errorCode != KPIM::AddressOk ) {
- QString errorMsg( "" + brokenAddress +
- "
" + KPIM::emailParseResultToString( errorCode ) +
- "
" );
- KMessageBox::sorry( this, errorMsg, i18n("Invalid Email Address") );
- return;
- }
+ if ( !validateAddresses( this, to().stripWhiteSpace() ) ) {
+ return;
}
- if ( !cc().isEmpty() ) {
- QString brokenAddress;
- KPIM::EmailParseResult errorCode = KMMessage::isValidEmailAddressList( KMMessage::expandAliases( cc()), brokenAddress);
- if ( errorCode != KPIM::AddressOk ) {
- QString errorMsg( "" + brokenAddress +
- "
" + KPIM::emailParseResultToString( errorCode ) +
- "
" );
- KMessageBox::sorry( this, errorMsg, i18n("Invalid Email Address") );
- return;
- }
+ if ( !validateAddresses( this, cc().stripWhiteSpace() ) ) {
+ return;
}
- if ( !bcc().isEmpty() ) {
- QString brokenAddress;
- KPIM::EmailParseResult errorCode = KMMessage::isValidEmailAddressList( KMMessage::expandAliases( bcc()), brokenAddress);
- if ( errorCode != KPIM::AddressOk ) {
- QString errorMsg( "" + brokenAddress +
- "
" + KPIM::emailParseResultToString( errorCode ) +
- "
" );
- KMessageBox::sorry( this, errorMsg, i18n("Invalid Email Address") );
- return;
- }
+ if ( !validateAddresses( this, bcc().stripWhiteSpace() ) ) {
+ return;
}
if (subject().isEmpty())
diff --git a/kmcomposewin.h b/kmcomposewin.h
index 5a66ad42a..d111ca808 100644
--- a/kmcomposewin.h
+++ b/kmcomposewin.h
@@ -801,6 +801,11 @@ private:
*/
void cleanupAutoSave();
+ /**
+ * Validate email addresses
+ */
+ static bool KMComposeWin::validateAddresses( QWidget * parent, const QString & addresses );
+
protected slots:
/**
* Compress an attachemnt with the given index