email.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. import { mailerSendConfig, mailgunConfig, mailjetConfig, mailtrapConfig, mandrillConfig, netCoreConfig, nodemailerConfig, postmarkConfig, sendgridConfig, sendinblueConfig, sesConfig, outlook365Config, infobipEmailConfig, resendConfig, plunkConfig, sparkpostConfig, emailWebhookConfig, brazeEmailConfig, } from '../credentials';
  2. import { EmailProviderIdEnum } from '../provider.enum';
  3. import { ChannelTypeEnum } from '../../../types';
  4. import { UTM_CAMPAIGN_QUERY_PARAM } from '../../../ui';
  5. export const emailProviders = [
  6. {
  7. id: EmailProviderIdEnum.Novu,
  8. displayName: 'Novu Email',
  9. channel: ChannelTypeEnum.EMAIL,
  10. credentials: [],
  11. docReference: `https://docs.novu.co/channels-and-providers/default-providers${UTM_CAMPAIGN_QUERY_PARAM}#novu-email-provider`,
  12. logoFileName: { light: 'novu.png', dark: 'novu.png' },
  13. },
  14. {
  15. id: EmailProviderIdEnum.Mailgun,
  16. displayName: 'Mailgun',
  17. channel: ChannelTypeEnum.EMAIL,
  18. credentials: mailgunConfig,
  19. docReference: `https://docs.novu.co/channels-and-providers/email/mailgun${UTM_CAMPAIGN_QUERY_PARAM}`,
  20. logoFileName: { light: 'mailgun.svg', dark: 'mailgun.svg' },
  21. },
  22. {
  23. id: EmailProviderIdEnum.Mailjet,
  24. displayName: 'Mailjet',
  25. channel: ChannelTypeEnum.EMAIL,
  26. credentials: mailjetConfig,
  27. docReference: `https://docs.novu.co/channels-and-providers/email/mailjet${UTM_CAMPAIGN_QUERY_PARAM}`,
  28. logoFileName: { light: 'mailjet.png', dark: 'mailjet.png' },
  29. },
  30. {
  31. id: EmailProviderIdEnum.Mailtrap,
  32. displayName: 'Mailtrap',
  33. channel: ChannelTypeEnum.EMAIL,
  34. credentials: mailtrapConfig,
  35. docReference: `https://docs.novu.co/channels-and-providers/email/mailtrap${UTM_CAMPAIGN_QUERY_PARAM}`,
  36. logoFileName: { light: 'mailtrap.svg', dark: 'mailtrap.svg' },
  37. },
  38. {
  39. id: EmailProviderIdEnum.Mandrill,
  40. displayName: 'Mandrill',
  41. channel: ChannelTypeEnum.EMAIL,
  42. credentials: mandrillConfig,
  43. docReference: `https://docs.novu.co/channels-and-providers/email/mandrill${UTM_CAMPAIGN_QUERY_PARAM}`,
  44. logoFileName: { light: 'mandrill.svg', dark: 'mandrill.svg' },
  45. },
  46. {
  47. id: EmailProviderIdEnum.Postmark,
  48. displayName: 'Postmark',
  49. channel: ChannelTypeEnum.EMAIL,
  50. credentials: postmarkConfig,
  51. docReference: `https://docs.novu.co/channels-and-providers/email/postmark${UTM_CAMPAIGN_QUERY_PARAM}`,
  52. logoFileName: { light: 'postmark.png', dark: 'postmark.png' },
  53. },
  54. {
  55. id: EmailProviderIdEnum.SendGrid,
  56. displayName: 'SendGrid',
  57. channel: ChannelTypeEnum.EMAIL,
  58. credentials: sendgridConfig,
  59. docReference: `https://docs.novu.co/channels-and-providers/email/sendgrid${UTM_CAMPAIGN_QUERY_PARAM}`,
  60. logoFileName: { light: 'sendgrid.png', dark: 'sendgrid.png' },
  61. },
  62. {
  63. id: EmailProviderIdEnum.Sendinblue,
  64. displayName: 'Sendinblue',
  65. channel: ChannelTypeEnum.EMAIL,
  66. credentials: sendinblueConfig,
  67. docReference: `https://docs.novu.co/channels-and-providers/email/sendinblue${UTM_CAMPAIGN_QUERY_PARAM}`,
  68. logoFileName: { light: 'sendinblue.png', dark: 'sendinblue.png' },
  69. },
  70. {
  71. id: EmailProviderIdEnum.SES,
  72. displayName: 'SES',
  73. channel: ChannelTypeEnum.EMAIL,
  74. credentials: sesConfig,
  75. docReference: `https://docs.novu.co/channels-and-providers/email/amazonses${UTM_CAMPAIGN_QUERY_PARAM}`,
  76. logoFileName: { light: 'ses.svg', dark: 'ses.svg' },
  77. },
  78. {
  79. id: EmailProviderIdEnum.NetCore,
  80. displayName: 'Netcore',
  81. channel: ChannelTypeEnum.EMAIL,
  82. credentials: netCoreConfig,
  83. docReference: `https://docs.novu.co/channels-and-providers/email/netcore${UTM_CAMPAIGN_QUERY_PARAM}`,
  84. logoFileName: { light: 'netcore.png', dark: 'netcore.png' },
  85. },
  86. {
  87. id: EmailProviderIdEnum.CustomSMTP,
  88. displayName: 'Custom SMTP',
  89. channel: ChannelTypeEnum.EMAIL,
  90. credentials: nodemailerConfig,
  91. docReference: `https://docs.novu.co/channels-and-providers/email/custom-smtp${UTM_CAMPAIGN_QUERY_PARAM}`,
  92. logoFileName: { light: 'custom_smtp.svg', dark: 'custom_smtp.svg' },
  93. },
  94. {
  95. id: EmailProviderIdEnum.MailerSend,
  96. displayName: 'MailerSend',
  97. channel: ChannelTypeEnum.EMAIL,
  98. credentials: mailerSendConfig,
  99. docReference: `https://docs.novu.co/channels-and-providers/email/mailersend${UTM_CAMPAIGN_QUERY_PARAM}`,
  100. logoFileName: { light: 'mailersend.svg', dark: 'mailersend.svg' },
  101. },
  102. {
  103. id: EmailProviderIdEnum.Outlook365,
  104. displayName: 'Microsoft Outlook365',
  105. channel: ChannelTypeEnum.EMAIL,
  106. credentials: outlook365Config,
  107. docReference: `https://docs.novu.co/channels-and-providers/email/outlook365${UTM_CAMPAIGN_QUERY_PARAM}`,
  108. logoFileName: { light: 'outlook365.png', dark: 'outlook365.png' },
  109. },
  110. {
  111. id: EmailProviderIdEnum.Infobip,
  112. displayName: 'Infobip',
  113. channel: ChannelTypeEnum.EMAIL,
  114. credentials: infobipEmailConfig,
  115. docReference: `https://docs.novu.co/channels-and-providers/email/infobip${UTM_CAMPAIGN_QUERY_PARAM}`,
  116. logoFileName: { light: 'infobip.png', dark: 'infobip.png' },
  117. },
  118. {
  119. id: EmailProviderIdEnum.Braze,
  120. displayName: 'Braze',
  121. channel: ChannelTypeEnum.EMAIL,
  122. credentials: brazeEmailConfig,
  123. docReference: 'https://www.braze.com/docs/api/endpoints/messaging/send_messages/post_send_messages/',
  124. logoFileName: { light: 'braze.svg', dark: 'braze.svg' },
  125. },
  126. {
  127. id: EmailProviderIdEnum.Resend,
  128. displayName: 'Resend',
  129. channel: ChannelTypeEnum.EMAIL,
  130. credentials: resendConfig,
  131. docReference: `https://docs.novu.co/channels-and-providers/email/resend${UTM_CAMPAIGN_QUERY_PARAM}`,
  132. logoFileName: { light: 'resend.svg', dark: 'resend.svg' },
  133. },
  134. {
  135. id: EmailProviderIdEnum.Plunk,
  136. displayName: 'Plunk',
  137. channel: ChannelTypeEnum.EMAIL,
  138. credentials: plunkConfig,
  139. docReference: `https://docs.novu.co/channels/email/plunk${UTM_CAMPAIGN_QUERY_PARAM}`,
  140. logoFileName: { light: 'plunk.png', dark: 'plunk.png' },
  141. },
  142. {
  143. id: EmailProviderIdEnum.SparkPost,
  144. displayName: 'SparkPost',
  145. channel: ChannelTypeEnum.EMAIL,
  146. credentials: sparkpostConfig,
  147. docReference: `https://docs.novu.co/channels-and-providers/email/sparkpost${UTM_CAMPAIGN_QUERY_PARAM}`,
  148. logoFileName: { light: 'sparkpost.svg', dark: 'sparkpost.svg' },
  149. },
  150. {
  151. id: EmailProviderIdEnum.EmailWebhook,
  152. displayName: 'Email Webhook',
  153. channel: ChannelTypeEnum.EMAIL,
  154. credentials: emailWebhookConfig,
  155. betaVersion: true,
  156. docReference: `https://docs.novu.co/channels/email/email-webhook${UTM_CAMPAIGN_QUERY_PARAM}`,
  157. logoFileName: { light: 'email_webhook.svg', dark: 'email_webhook.svg' },
  158. },
  159. ];