EwsMailBuilder
Microsoft stellt die Exchange Web Services (EWS) in Exchange Online ein (Ankündigung von Microsoft). EwsMailBuilder und EwsServiceFactory sind daher deprecated und werden nicht mehr unterstützt. Bei jeder Instanziierung des EwsMailBuilder wird ein entsprechender Fehler ins Log geschrieben.
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.