00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifdef HAVE_CONFIG_H
00032 #include <config.h>
00033 #endif
00034
00035 #include "mailserviceimpl.h"
00036
00037 #include "composer.h"
00038
00039 #include "kmmessage.h"
00040 #include "kmmsgpart.h"
00041
00042 #include <dcopobject.h>
00043 #include <kurl.h>
00044 #include <kdebug.h>
00045 #include <qstring.h>
00046
00047 namespace KMail {
00048
00049
00050 MailServiceImpl::MailServiceImpl()
00051 : DCOPObject( "MailTransportServiceIface" )
00052 {
00053 }
00054
00055 bool MailServiceImpl::sendMessage( const QString& from, const QString& to,
00056 const QString& cc, const QString& bcc,
00057 const QString& subject, const QString& body,
00058 const KURL::List& attachments )
00059 {
00060 if ( to.isEmpty() && cc.isEmpty() && bcc.isEmpty() )
00061 return false;
00062
00063 KMMessage *msg = new KMMessage;
00064 msg->initHeader();
00065
00066 msg->setCharset( "utf-8" );
00067
00068 if ( !from.isEmpty() ) msg->setFrom( from );
00069 if ( !to.isEmpty() ) msg->setTo( to );
00070 if ( !cc.isEmpty() ) msg->setCc( cc );
00071 if ( !bcc.isEmpty() ) msg->setBcc( bcc );
00072 if ( !subject.isEmpty() ) msg->setSubject( subject );
00073 if ( !body.isEmpty() ) msg->setBody( body.utf8() );
00074
00075 KMail::Composer * cWin = KMail::makeComposer( msg );
00076 cWin->setCharset("", TRUE);
00077
00078 cWin->addAttachmentsAndSend(attachments, "", 1);
00079 return true;
00080 }
00081
00082 bool MailServiceImpl::sendMessage( const QString& to,
00083 const QString& cc, const QString& bcc,
00084 const QString& subject, const QString& body,
00085 const KURL::List& attachments )
00086 {
00087 kdDebug(5006) << "DCOP call MailTransportServiceIface bool sendMessage(QString to,QString cc,QString bcc,QString subject,QString body,KURL::List attachments)" << endl;
00088 kdDebug(5006) << "This DCOP call is deprecated. Use the corresponding DCOP call with the additional parameter QString from instead." << endl;
00089 return sendMessage( QString::null, to, cc, bcc, subject, body, attachments );
00090 }
00091
00092
00093 bool MailServiceImpl::sendMessage( const QString& from, const QString& to,
00094 const QString& cc, const QString& bcc,
00095 const QString& subject, const QString& body,
00096 const QByteArray& attachment )
00097 {
00098 if ( to.isEmpty() && cc.isEmpty() && bcc.isEmpty() )
00099 return false;
00100
00101 KMMessage *msg = new KMMessage;
00102 msg->initHeader();
00103
00104 msg->setCharset( "utf-8" );
00105
00106 if ( !from.isEmpty() ) msg->setFrom( from );
00107 if ( !to.isEmpty() ) msg->setTo( to );
00108 if ( !cc.isEmpty() ) msg->setCc( cc );
00109 if ( !bcc.isEmpty() ) msg->setBcc( bcc );
00110 if ( !subject.isEmpty() ) msg->setSubject( subject );
00111 if ( !body.isEmpty() ) msg->setBody( body.utf8() );
00112
00113 KMMessagePart *part = new KMMessagePart;
00114 part->setCteStr( "base64" );
00115 part->setBodyEncodedBinary( attachment );
00116 msg->addBodyPart( part );
00117
00118 KMail::Composer * cWin = KMail::makeComposer( msg );
00119 cWin->setCharset("", TRUE);
00120 return true;
00121 }
00122
00123
00124 bool MailServiceImpl::sendMessage( const QString& to,
00125 const QString& cc, const QString& bcc,
00126 const QString& subject, const QString& body,
00127 const QByteArray& attachment )
00128 {
00129 kdDebug(5006) << "DCOP call MailTransportServiceIface bool sendMessage(QString to,QString cc,QString bcc,QString subject,QString body,QByteArray attachment)" << endl;
00130 kdDebug(5006) << "This DCOP call is deprecated. Use the corresponding DCOP call with the additional parameter QString from instead." << endl;
00131 return sendMessage( QString::null, to, cc, bcc, subject, body, attachment );
00132 }
00133
00134 }
00135