EwsMailBuilder
Die EwsMailBuilder Klasse bietet eine schlanke Möglichkeit mit Hilfe der ews-js-api von otris E-Mails via oauth2 und z. B. Office365 E-Mails zu versenden.
Kleines Beispiel
context.enableModules();
const { EwsMailBuilder } = require("ou.sp.ews.EwsMailBuilder");
new EwsMailBuilder()
.from("sender@example.org")
.to("recipient@example.org")
.subject("Das ist ein Test")
.body("Dies ist der E-Mail Body Context")
.send();
Weitere Informationen zur ews-js-api in der otris Dokumentation.
from
Gibt die Absenderadresse an
from(from: string, mailboxType: ews.MailboxTypes = "Mailbox", routingType: ews.RoutingTypes = "SMTP"): EwsMailBuilder;
Beispiel
new EwsMailBuilder().from("sender@example.org")
Unterstützte Werte:
- mailboxType:
"Mailbox" - routingType:
"SMTP"
body
Inhalt der Mail. Als BodyType wird text verwendet.
body(body: string, bodyType: ews.BodyTypes = "text"): EwsMailBuilder;
Beispiel
new EwsMailBuilder().body("Dies ist der E-Mail Body Context")
Unterstützte Werte:
- bodyType:
"text"|"html"
subject
Betreff der Mail
subject(subject: string): EwsMailBuilder;
Beispiel
new EwsMailBuilder().subject("Betreff hier")
to
Empfänger der Mail.
to(to: string, mailboxType: ews.MailboxTypes = "Mailbox", routingType: ews.RoutingTypes = "SMTP"): EwsMailBuilder;
Beispiel
new EwsMailBuilder().to("sender@example.org")
Unterstützte Werte:
- mailboxType:
"Mailbox" - routingType:
"SMTP"
cc
Kopie-Empfänger
cc(cc: string, mailboxType: ews.MailboxTypes = "Mailbox", routingType: ews.RoutingTypes = "SMTP"): EwsMailBuilder;
Beispiel
new EwsMailBuilder().to("sender@example.org")
Unterstützte Werte:
- mailboxType:
"Mailbox" - routingType:
"SMTP"
disposition
Disposition
disposition(dispositionType: ews.MessageDispositions): EwsMailBuilder;
Mögliche Werte:
"save_only""send_only""send_and_save_copy"
attachment
Dateianlagen können über die attachment Funktion übergeben werden.
attachment(attachment: { name: string; content_type: string; file_path: string }): EwsMailBuilder;
Beispiel:
const mail = new EwsMailBuilder()
.from("sender@example.org")
.to("recipient@example.org")
.subject("Das ist ein Test")
.body("Dies ist der E-Mail Body Context")
const register = docFile.getRegisterByName("documents")
const files = register.getDocuments();
for (var file = files.first(); file; file = files.next()) {
const pathToPdf = file.getAsPDF();
mail.attachment({
file_path: pathToPdf,
content_type: "application/pdf",
name: file.fullname
});
}
try {
mail.send();
} catch (error) {
util.log(error.message);
}
send
Sendet die E-Mail.
send(ewsService: ews.Service = null): EwsMailBuilder;
Beispiel
const mail = EwsMailBuilder
.from("sender@example.org")
.to("recipient@example.org")
.subject("Das ist ein Test")
.body("Dies ist der E-Mail Body Context")
.send()
Standardmäßig wird erwartet, dass im Documents Manager beim Mandanten folgende Eigenschaften gesetzt sind:
- ExchangeOnlineTenant - Die URL des genutzten Tenants
- ExchangeOnlineClientId - Die Client ID der im Azure Portal hinterlegten Anwendung
- ExchangeOnlineClientSecret - Das generierte Secret Token für die Anwendung
Optional kann auch eine ewsService Instanz übergeben werden, dazu mehr im nächsten Kapitel EwsServiceFactory.