Zum Hauptinhalt springen

EwsMailBuilder

Deprecated

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()
info

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.