mail-mime-builder
Version:
RFC-2822, RFC-2045 and RFC-2049 compliant zero dependency raw email message generator.
36 lines (35 loc) • 1.09 kB
JavaScript
import { MIMEMessageContentHeader } from './MIMEMessageHeader.js';
export class MIMEMessageContent {
headers;
data;
constructor(data, headers = {}) {
this.headers = new 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();
}
}