Do the header removing no sending stuff in a clean way.

svn path=/trunk/kdenetwork/kmail/; revision=117877
wilder-work
Michael Haeckel 25 years ago
parent 9fd6fe744c
commit 75e4eaa8e7
  1. 13
      kmmessage.cpp
  2. 5
      kmmessage.h
  3. 22
      kmsender.cpp

@ -145,6 +145,19 @@ QCString KMMessage::asString(void)
}
//-----------------------------------------------------------------------------
QCString KMMessage::asSendableString()
{
KMMessage msg;
msg.fromString(asString());
msg.removeHeaderField("Status");
msg.removeHeaderField("X-Status");
msg.removeHeaderField("X-KMail-Transport");
msg.removeHeaderField("X-KMail-Identity");
msg.removeHeaderField("Bcc");
return msg.asString();
}
//-----------------------------------------------------------------------------
void KMMessage::setStatusFields(void)
{

@ -92,6 +92,11 @@ public:
*/
virtual QCString asString(void);
/**
* Return the message contents besides the headers that should not be sent.
*/
virtual QCString asSendableString();
/** Return header as string. */
virtual QString headerAsString(void) const;

@ -340,12 +340,6 @@ void KMSender::doSendMsgAux()
{
mSendProcStarted = TRUE;
// remove header fields that shall not be included in sending
mCurrentMsg->removeHeaderField("Status");
mCurrentMsg->removeHeaderField("X-Status");
mCurrentMsg->removeHeaderField("X-KMail-Transport");
mCurrentMsg->removeHeaderField("X-KMail-Identity");
// start sending the current message
mSendProc->preSendInit();
@ -746,19 +740,11 @@ bool KMSendSendmail::send(KMMessage* aMsg)
mMailerProc->clearArguments();
*mMailerProc << mSender->transportInfo()->host;
*mMailerProc << "-i";
aMsg->removeHeaderField("X-KMail-Identity");
addRecipients(aMsg->headerAddrField("To"));
if (!aMsg->cc().isEmpty()) addRecipients(aMsg->headerAddrField("Cc"));
if (!aMsg->bcc().isEmpty()) addRecipients(aMsg->headerAddrField("Bcc"));
bccStr = aMsg->bcc();
if (!bccStr.isEmpty())
{
addRecipients(aMsg->headerAddrField("Bcc"));
aMsg->removeHeaderField("Bcc");
}
mMsgStr = aMsg->asString();
if (!bccStr.isEmpty()) aMsg->setBcc(bccStr);
mMsgStr = aMsg->asSendableString();
if (!mMailerProc->start(KProcess::NotifyOnExit,KProcess::All))
{
@ -874,7 +860,6 @@ bool KMSendSMTP::send(KMMessage *aMsg)
{
mQueryField = "&bcc=";
if (!addRecipients(aMsg->headerAddrField("Bcc"))) return FALSE;
aMsg->removeHeaderField("Bcc");
}
if(!aMsg->subject().isEmpty())
@ -925,8 +910,7 @@ bool KMSendSMTP::send(KMMessage *aMsg)
mQuery = "";
mMessage = prepareStr(aMsg->asString(), TRUE);
if (!bccStr.isEmpty()) aMsg->setBcc(bccStr);
mMessage = prepareStr(aMsg->asSendableString(), TRUE);
if ((mJob = KIO::put(destination, -1, false, false, false)))
{

Loading…
Cancel
Save