mail-mime-builder
Version:
RFC-2822, RFC-2045 and RFC-2049 compliant zero dependency raw email message generator.
40 lines (39 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MIMEMessageContent = void 0;
const MIMEMessageHeader_js_1 = require("./MIMEMessageHeader.js");
class MIMEMessageContent {
headers;
data;
constructor(data, headers = {}) {
this.headers = new MIMEMessageHeader_js_1.MIMEMessageContentHeader();
this.data = data;
this.setHeaders(headers);
}
dump() {
const eol = '\r\n';
return this.headers.dump() + eol + eol + this.data;
}
isAttachment() {
const disposition = this.headers.get('Content-Disposition');
return typeof disposition === 'string' && disposition.includes('attachment');
}
isInlineAttachment() {
const disposition = this.headers.get('Content-Disposition');
return typeof disposition === 'string' && disposition.includes('inline');
}
setHeader(name, value) {
this.headers.set(name, value);
return name;
}
getHeader(name) {
return this.headers.get(name);
}
setHeaders(obj) {
return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]));
}
getHeaders() {
return this.headers.toObject();
}
}
exports.MIMEMessageContent = MIMEMessageContent;