aboutsummaryrefslogtreecommitdiffstats
path: root/include/smtp/mimemessage.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/smtp/mimemessage.h')
-rw-r--r--include/smtp/mimemessage.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/include/smtp/mimemessage.h b/include/smtp/mimemessage.h
new file mode 100644
index 00000000..24e4f108
--- /dev/null
+++ b/include/smtp/mimemessage.h
@@ -0,0 +1,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