kmail Library API Documentation

mailserviceimpl.cpp

00001 /* -*- mode: C++; c-file-style: "gnu" -*- 00002 * 00003 * This file is part of KMail, the KDE mail client. 00004 * Copyright (c) 2003 Zack Rusin <zack@kde.org> 00005 * 00006 * KMail is free software; you can redistribute it and/or modify it 00007 * under the terms of the GNU General Public License, version 2, as 00008 * published by the Free Software Foundation. 00009 * 00010 * KMail is distributed in the hope that it will be useful, but 00011 * WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 * 00019 * In addition, as a special exception, the copyright holders give 00020 * permission to link the code of this program with any edition of 00021 * the Qt library by Trolltech AS, Norway (or with modified versions 00022 * of Qt that use the same license as Qt), and distribute linked 00023 * combinations including the two. You must obey the GNU General 00024 * Public License in all respects for all of the code used other than 00025 * Qt. If you modify this file, you may extend this exception to 00026 * your version of the file, but you are not obligated to do so. If 00027 * you do not wish to do so, delete this exception statement from 00028 * your version. 00029 */ 00030 00031 #ifdef HAVE_CONFIG_H 00032 #include <config.h> 00033 #endif 00034 00035 #include "mailserviceimpl.h" 00036 00037 #include "kmcomposewin.h" 00038 #include "kmmessage.h" 00039 #include "kmmsgpart.h" 00040 #include "kmkernel.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 KMComposeWin *cWin = new KMComposeWin( msg ); 00076 cWin->setCharset("", TRUE); 00077 00078 for( KURL::List::ConstIterator itr = attachments.begin(); 00079 itr != attachments.end(); ++itr ) { 00080 cWin->addAttachment( *itr, "" ); 00081 } 00082 00083 cWin->send( 1 );//send now 00084 return true; 00085 } 00086 00087 bool MailServiceImpl::sendMessage( const QString& to, 00088 const QString& cc, const QString& bcc, 00089 const QString& subject, const QString& body, 00090 const KURL::List& attachments ) 00091 { 00092 kdDebug(5006) << "DCOP call MailTransportServiceIface bool sendMessage(QString to,QString cc,QString bcc,QString subject,QString body,KURL::List attachments)" << endl; 00093 kdDebug(5006) << "This DCOP call is deprecated. Use the corresponding DCOP call with the additional parameter QString from instead." << endl; 00094 return sendMessage( QString::null, to, cc, bcc, subject, body, attachments ); 00095 } 00096 00097 00098 bool MailServiceImpl::sendMessage( const QString& from, const QString& to, 00099 const QString& cc, const QString& bcc, 00100 const QString& subject, const QString& body, 00101 const QByteArray& attachment ) 00102 { 00103 if ( to.isEmpty() && cc.isEmpty() && bcc.isEmpty() ) 00104 return false; 00105 00106 KMMessage *msg = new KMMessage; 00107 msg->initHeader(); 00108 00109 msg->setCharset( "utf-8" ); 00110 00111 if ( !from.isEmpty() ) msg->setFrom( from ); 00112 if ( !to.isEmpty() ) msg->setTo( to ); 00113 if ( !cc.isEmpty() ) msg->setCc( cc ); 00114 if ( !bcc.isEmpty() ) msg->setBcc( bcc ); 00115 if ( !subject.isEmpty() ) msg->setSubject( subject ); 00116 if ( !body.isEmpty() ) msg->setBody( body.utf8() ); 00117 00118 KMMessagePart *part = new KMMessagePart; 00119 part->setCteStr( "base64" ); 00120 part->setBodyEncodedBinary( attachment ); 00121 msg->addBodyPart( part ); 00122 00123 KMComposeWin *cWin = new KMComposeWin( msg ); 00124 cWin->setCharset("", TRUE); 00125 return true; 00126 } 00127 00128 00129 bool MailServiceImpl::sendMessage( const QString& to, 00130 const QString& cc, const QString& bcc, 00131 const QString& subject, const QString& body, 00132 const QByteArray& attachment ) 00133 { 00134 kdDebug(5006) << "DCOP call MailTransportServiceIface bool sendMessage(QString to,QString cc,QString bcc,QString subject,QString body,QByteArray attachment)" << endl; 00135 kdDebug(5006) << "This DCOP call is deprecated. Use the corresponding DCOP call with the additional parameter QString from instead." << endl; 00136 return sendMessage( QString::null, to, cc, bcc, subject, body, attachment ); 00137 } 00138 00139 }//end namespace KMail 00140
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Oct 21 19:46:51 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003