MCPcopy Create free account
hub / github.com/cutelyst/simple-mail / write

Method write

src/mimemessage.cpp:72–136  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70}
71
72bool MimeMessage::write(QIODevice *device) const
73{
74 // Headers
75 QByteArray data;
76
77 if (!d->listExtraHeaders.isEmpty()) {
78 const auto listExtraHeaders = d->listExtraHeaders;
79 for (const QByteArray &header : listExtraHeaders) {
80 data += MimeMessagePrivate::encodeData(d->encoding, QString::fromLatin1(header), true) +
81 QByteArrayLiteral("\r\n");
82 }
83 if (device->write(data) != data.size()) {
84 return false;
85 }
86 }
87
88 data = MimeMessagePrivate::encode(
89 QByteArrayLiteral("From: "), QList<EmailAddress>() << d->sender, d->encoding);
90 if (device->write(data) != data.size()) {
91 return false;
92 }
93
94 if (d->replyTo.address().isEmpty() == false) {
95 data = MimeMessagePrivate::encode(
96 QByteArrayLiteral("Reply-To: "), QList<EmailAddress>() << d->replyTo, d->encoding);
97 if (device->write(data) != data.size()) {
98 return false;
99 }
100 }
101
102 data = MimeMessagePrivate::encode(QByteArrayLiteral("To: "), d->recipientsTo, d->encoding);
103 if (device->write(data) != data.size()) {
104 return false;
105 }
106
107 data = MimeMessagePrivate::encode(QByteArrayLiteral("Cc: "), d->recipientsCc, d->encoding);
108 if (device->write(data) != data.size()) {
109 return false;
110 }
111
112 data = QByteArrayLiteral("Date: ") +
113 QDateTime::currentDateTime().toString(Qt::RFC2822Date).toLatin1() +
114 QByteArrayLiteral("\r\n");
115 if (device->write(data) != data.size()) {
116 return false;
117 }
118
119 data = QByteArrayLiteral("Subject: ") +
120 MimeMessagePrivate::encodeData(d->encoding, d->subject, true);
121 if (device->write(data) != data.size()) {
122 return false;
123 }
124
125 data = QByteArrayLiteral("\r\nMIME-Version: 1.0\r\n");
126 if (device->write(data) != data.size()) {
127 return false;
128 }
129

Callers

nothing calls this directly

Calls 1

addressMethod · 0.80

Tested by

no test coverage detected