summaryrefslogtreecommitdiffstats
path: root/kbugbuster/backend/mailsender.h
blob: 5df42c2a44850b6165b98c30e0c372f942f50d11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef MAILSENDER_H
#define MAILSENDER_H

#include <tqstring.h>
#include <tqobject.h>

class KURL;
class Smtp;

class MailSender : public QObject
{
  Q_OBJECT
  public:
    enum MailClient { Sendmail = 0, KMail = 1, Direct = 2 };
  
    MailSender(MailClient,const TQString &smtpServer=TQString::null);
    virtual ~MailSender();

    MailSender *clone() const;

    /**
      Send mail with specified from, to and subject field and body as text. If
      bcc is set, send a blind carbon copy to the sender from.
      If recipient is specified the mail is sent to the specified address
      instead of 'to' . (this currently only works in for direct mail
      sending through SMTP.
    */
    bool send(const TQString &fromName, const TQString &fromEmail,
              const TQString &to,const TQString &subject,
              const TQString &body,bool bcc=false, 
              const TQString &recipient = TQString::null);

  signals:
    void status( const TQString &message );
    void finished();

  private slots:
    void smtpSuccess();
    void smtpError(const TQString &command, const TQString &response);

  private:
    int kMailOpenComposer(const TQString& arg0,const TQString& arg1,
                          const TQString& arg2,const TQString& arg3,
                          const TQString& arg4,int arg5,const KURL& arg6);

    MailClient m_client;
    TQString m_smtpServer;
};

#endif