blob: 24e4f1087596505cc293fcdac5a4b454060e8e23 (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
/*
Copyright (c) 2011-2012 - Tőkés Attila
This file is part of SmtpClient for Qt.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
See the LICENSE file for more details.
*/
#ifndef MIMEMESSAGE_H
#define MIMEMESSAGE_H
#include "mimepart.h"
#include "mimemultipart.h"
#include "emailaddress.h"
#include <QList>
#include "smtpexports.h"
class SMTP_EXPORT MimeMessage : public QObject {
public:
enum RecipientType {
To, // primary
Cc, // carbon copy
Bcc // blind carbon copy
};
/* [1] Constructors and Destructors */
explicit MimeMessage(bool createAutoMimeConent = true);
~MimeMessage() override;
/* [1] --- */
/* [2] Getters and Setters */
void setSender(EmailAddress *e);
void addRecipient(EmailAddress *rcpt, RecipientType type = To);
void addTo(EmailAddress *rcpt);
void addCc(EmailAddress *rcpt);
void addBcc(EmailAddress *rcpt);
void setSubject(const QString &subject);
void addPart(MimePart *part);
void setReplyTo(EmailAddress *rto);
void setInReplyTo(const QString &inReplyTo);
void setHeaderEncoding(MimePart::Encoding);
[[nodiscard]] const EmailAddress &getSender() const;
[[nodiscard]] const QList<EmailAddress *> &getRecipients(RecipientType type = To) const;
[[nodiscard]] const QString &getSubject() const;
[[nodiscard]] const QList<MimePart *> &getParts() const;
[[nodiscard]] const EmailAddress *getReplyTo() const;
MimePart &getContent();
void setContent(MimePart *content);
/* [2] --- */
/* [3] Public methods */
virtual QString toString();
/* [3] --- */
protected:
/* [4] Protected members */
EmailAddress *sender{};
EmailAddress *replyTo;
QList<EmailAddress *> recipientsTo, recipientsCc, recipientsBcc;
QString subject;
QString mInReplyTo;
MimePart *content;
bool autoMimeContentCreated;
MimePart::Encoding hEncoding;
/* [4] --- */
};
#endif // MIMEMESSAGE_H
|