@strapi/provider-email-mailgun
Version:
Mailgun provider for strapi email plugin
1 lines • 2.73 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import assert from 'node:assert';\nimport formData from 'form-data';\nimport Mailgun, { type MailgunClientOptions } from 'mailgun.js';\n\ninterface Settings {\n defaultFrom: string;\n defaultReplyTo: string;\n}\n\ninterface SendOptions {\n from?: string;\n to: string;\n cc: string;\n bcc: string;\n replyTo?: string;\n subject: string;\n text: string;\n html: string;\n [key: string]: unknown;\n}\n\ntype ProviderOptions = MailgunClientOptions & {\n domain: string;\n};\n\nconst DEFAULT_OPTIONS = {\n username: 'api',\n};\n\nexport default {\n init(providerOptions: ProviderOptions, settings: Settings) {\n assert(providerOptions.key, 'Mailgun API key is required');\n assert(providerOptions.domain, 'Mailgun domain is required');\n\n const mailgun = new Mailgun(formData);\n const mg = mailgun.client({\n ...DEFAULT_OPTIONS,\n ...providerOptions,\n });\n\n return {\n send(options: SendOptions) {\n const { from, to, cc, bcc, replyTo, subject, text, html, ...rest } = options;\n\n const data = {\n from: from || settings.defaultFrom,\n to,\n cc,\n bcc,\n 'h:Reply-To': replyTo || settings.defaultReplyTo,\n subject,\n text,\n html,\n ...rest,\n };\n\n return mg.messages.create(providerOptions.domain as string, data);\n },\n };\n },\n};\n"],"names":["DEFAULT_OPTIONS","username","init","providerOptions","settings","assert","key","domain","mailgun","Mailgun","formData","mg","client","send","options","from","to","cc","bcc","replyTo","subject","text","html","rest","data","defaultFrom","defaultReplyTo","messages","create"],"mappings":";;;;AAyBA,MAAMA,eAAAA,GAAkB;IACtBC,QAAAA,EAAU;AACZ,CAAA;AAEA,YAAe;IACbC,IAAAA,CAAAA,CAAKC,eAAgC,EAAEC,QAAkB,EAAA;QACvDC,MAAAA,CAAOF,eAAAA,CAAgBG,GAAG,EAAE,6BAAA,CAAA;QAC5BD,MAAAA,CAAOF,eAAAA,CAAgBI,MAAM,EAAE,4BAAA,CAAA;QAE/B,MAAMC,OAAAA,GAAU,IAAIC,OAAAA,CAAQC,QAAAA,CAAAA;QAC5B,MAAMC,EAAAA,GAAKH,OAAAA,CAAQI,MAAM,CAAC;AACxB,YAAA,GAAGZ,eAAe;AAClB,YAAA,GAAGG;AACL,SAAA,CAAA;QAEA,OAAO;AACLU,YAAAA,IAAAA,CAAAA,CAAKC,OAAoB,EAAA;AACvB,gBAAA,MAAM,EAAEC,IAAI,EAAEC,EAAE,EAAEC,EAAE,EAAEC,GAAG,EAAEC,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGC,MAAM,GAAGT,OAAAA;AAErE,gBAAA,MAAMU,IAAAA,GAAO;oBACXT,IAAAA,EAAMA,IAAAA,IAAQX,SAASqB,WAAW;AAClCT,oBAAAA,EAAAA;AACAC,oBAAAA,EAAAA;AACAC,oBAAAA,GAAAA;oBACA,YAAA,EAAcC,OAAAA,IAAWf,SAASsB,cAAc;AAChDN,oBAAAA,OAAAA;AACAC,oBAAAA,IAAAA;AACAC,oBAAAA,IAAAA;AACA,oBAAA,GAAGC;AACL,iBAAA;AAEA,gBAAA,OAAOZ,GAAGgB,QAAQ,CAACC,MAAM,CAACzB,eAAAA,CAAgBI,MAAM,EAAYiB,IAAAA,CAAAA;AAC9D,YAAA;AACF,SAAA;AACF,IAAA;AACF,CAAA;;;;"}