mail/back/mails/utils/mailBuilder.ts
2023-07-14 16:26:13 +02:00

54 lines
1.2 KiB
TypeScript

export default class MailBuilder {
message: any;
constructor(message = {}) {
this.message = message;
}
from(addresses: string[] | string): MailBuilder {
this.message.from = addresses;
return this;
}
to(addresses: string[] | string): MailBuilder {
this.message.to = addresses;
return this;
}
cc(addresses: string[] | string): MailBuilder {
this.message.cc = addresses;
return this;
}
bcc(addresses: string[] | string): MailBuilder {
this.message.bcc = addresses;
return this;
}
subject(subject: string): MailBuilder {
this.message.subject = subject;
return this;
}
text(textContent: string): MailBuilder {
this.message.text = textContent;
return this;
}
html(htmlContent: string): MailBuilder {
this.message.html = htmlContent;
return this;
}
inReplyTo(messageID: string): MailBuilder {
this.message.inReplyTo = messageID;
return this;
}
inReplySubject(originSubject: string): MailBuilder {
// todo concate if multiple ?
this.message.subject = "RE: " + originSubject;
return this;
}
// https://cr.yp.to/immhf/thread.html
}