Skip to content

Instantly share code, notes, and snippets.

@whitetigle
Created December 22, 2018 09:29
Show Gist options
  • Select an option

  • Save whitetigle/d94a71dcce80dd5066e07c3b9563f4a4 to your computer and use it in GitHub Desktop.

Select an option

Save whitetigle/d94a71dcce80dd5066e07c3b9563f4a4 to your computer and use it in GitHub Desktop.
module Mail
open Fable.Core
open Fable.Core.JsInterop
open Fable.PowerPack
open Fable.Import
module Nodemail =
type Auth =
{
user: string
pass:string
}
type Message =
abstract member from : string with get, set
abstract member ``to`` : string with get, set
abstract member subject : string with get, set
abstract member cc : string option with get, set
abstract member bcc : string option with get, set
abstract member text : string with get, set
type Config =
abstract member port : int with get, set
abstract member host : string with get, set
abstract member secure : bool with get, set
abstract member auth : Auth with get, set
abstract member debug : bool with get, set
type SendError = obj
type Envelope = obj
type Info =
abstract member messageId : string with get, set
abstract member envelope : Envelope with get, set
abstract member accepted : string list with get, set
abstract member rejected : string list with get, set
abstract member pending : string list with get, set
abstract member response : string with get, set
type ITransport =
abstract verify : ?callback: (string -> string -> unit) -> JS.Promise<string>
abstract sendMail: message : Message * ?callback: (SendError -> Info -> unit) -> JS.Promise<U2<SendError,Info>>
type INodeMail =
abstract createTransport : config : Config -> ITransport
[<Import("default", from="nodemailer")>]
let nodemail: INodeMail = jsNative
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment