Guest User

Untitled

a guest
Dec 22nd, 2018
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. module Mail
  2.  
  3. open Fable.Core
  4. open Fable.Core.JsInterop
  5. open Fable.PowerPack
  6. open Fable.Import
  7.  
  8. module Nodemail =
  9.  
  10. type Auth =
  11. {
  12. user: string
  13. pass:string
  14. }
  15.  
  16. type Message =
  17. abstract member from : string with get, set
  18. abstract member ``to`` : string with get, set
  19. abstract member subject : string with get, set
  20. abstract member cc : string option with get, set
  21. abstract member bcc : string option with get, set
  22. abstract member text : string with get, set
  23.  
  24. type Config =
  25. abstract member port : int with get, set
  26. abstract member host : string with get, set
  27. abstract member secure : bool with get, set
  28. abstract member auth : Auth with get, set
  29. abstract member debug : bool with get, set
  30.  
  31. type SendError = obj
  32.  
  33. type Envelope = obj
  34.  
  35. type Info =
  36. abstract member messageId : string with get, set
  37. abstract member envelope : Envelope with get, set
  38. abstract member accepted : string list with get, set
  39. abstract member rejected : string list with get, set
  40. abstract member pending : string list with get, set
  41. abstract member response : string with get, set
  42.  
  43. type ITransport =
  44. abstract verify : ?callback: (string -> string -> unit) -> JS.Promise<string>
  45. abstract sendMail: message : Message * ?callback: (SendError -> Info -> unit) -> JS.Promise<U2<SendError,Info>>
  46.  
  47. type INodeMail =
  48. abstract createTransport : config : Config -> ITransport
  49.  
  50. [<Import("default", from="nodemailer")>]
  51. let nodemail: INodeMail = jsNative
Add Comment
Please, Sign In to add comment