Zum Hauptinhalt springen

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