From 71fb1d4a12aabd8c7376e6eb639f2b8d90a18428 Mon Sep 17 00:00:00 2001 From: Vincent Bortone Date: Thu, 31 Jan 2013 02:59:19 -0500 Subject: [PATCH] Initial commit of Nodemailer type definitions and tests --- nodemailer/nodemailer-tests.ts | 33 ++++++++++++++++++++++++++ nodemailer/nodemailer.d.ts | 42 ++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 nodemailer/nodemailer-tests.ts create mode 100644 nodemailer/nodemailer.d.ts diff --git a/nodemailer/nodemailer-tests.ts b/nodemailer/nodemailer-tests.ts new file mode 100644 index 000000000..f1f3bcfef --- /dev/null +++ b/nodemailer/nodemailer-tests.ts @@ -0,0 +1,33 @@ +//Nodemailer test +/// +var nodemailer:NodemailerStatic; + +// create reusable transport method (opens pool of SMTP connections) +var smtpTransport = nodemailer.createTransport("SMTP",{ + service: "Gmail", + auth: { + user: "gmail.user@gmail.com", + pass: "userpass" + } +}); + +// setup e-mail data with unicode symbols +var mailOptions = { + from: "Fred Foo ✔ ", // sender address + to: "bar@blurdybloop.com, baz@blurdybloop.com", // list of receivers + subject: "Hello ✔", // Subject line + text: "Hello world ✔", // plaintext body + html: "Hello world ✔" // html body +} + +// send mail with defined transport object +smtpTransport.sendMail(mailOptions, function(error, response){ + if(error){ + console.log(error); + }else{ + console.log("Message sent: " + response.message); + } + + // if you don't want to use this transport object anymore, uncomment following line + //smtpTransport.close(); // shut down the connection pool, no more messages +}); \ No newline at end of file diff --git a/nodemailer/nodemailer.d.ts b/nodemailer/nodemailer.d.ts new file mode 100644 index 000000000..4ab4a09af --- /dev/null +++ b/nodemailer/nodemailer.d.ts @@ -0,0 +1,42 @@ +// Type definitions for Nodemailer +// JNodemailer is an easy to use module to send e-mails with Node.JS (using SMTP or sendmail or Amazon SES) and is unicode friendly . +// Project: https://github.com/andris9/Nodemailer +// Definitions by: Vincent Bortone +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +interface Transport {} + +interface MailComposer {} + +interface XOAuthGenerator {} + +interface NodemailerTransportOptions { + service: string; + +} + +interface NodeMailerMessageOptions {} + +interface NodemailerStatic { + X_MAILER_NAME: string; + X_MAILER_HOMEPAGE: string; + createTransport(type: string, options: NodeMailerTransportOptions): Transport; + sendMail(options: NodeMailerMessageOptions, callback?: (err: Error) => any): any; + send_mail(options: NodeMailerMessageOptions, callback?: (err: Error) => any): any; +} + +interface Nodemailer { + (options: NodeMailerMessageOptions): void; + transport: Transport; + options: NodeMailerMessageOptions; + mailcomposer: MailComposer; + generateUserAgentString(): string; + getGlobalTransport(): Transport; + validateSettings(callback: (err: Error) => any): void; + sendMail(callback: () => any): void; + generateMailObject(): void; + setGeneralOptions(): void; + setUserHeaders(): void; + setModuleHeaders(): void; + setAttachments(): void; +} \ No newline at end of file