如何在没有sendgrid的情况下通过trapi发送电子邮件

时间:2021-07-03 06:15:19

标签: email smtp strapi

我对此很陌生,我只是想澄清一些事情。

基本上,我试图在不使用任何第三方插件(如 sendgrid)的情况下发送电子邮件。我正在阅读本有关 Strapi https://strapi.io/documentation/developer-docs/latest/development/plugins/email.html#configure-the-plugin 的文档,第一行强调了 Strapi 为 sendmail 提供了开箱即用的支持。并且根据我的信息,sendmail 可以允许在不与任何第三方服务打交道的情况下发送电子邮件。

现在这是我感到困惑的部分,我之前通过 python 的 SMTP 库发送过电子邮件,您必须为您尝试连接的服务器提供凭据。这个文档让我困惑了 Strapi 如何实现这一点。

我尝试向我的一个 Outlook 帐户发送测试电子邮件。但是它返回测试电子邮件失败。

注意:Strapi 在我的本地主机上。

enter image description here

现在我的主要问题是

是否可以在不求助于这些第三方服务的情况下发送电子邮件?如果是这样,实现这一目标的步骤是什么。可能是因为本地主机而无法正常工作吗?我还有什么其他选择。基本上我不想处理sendgrid的涨停上限。

提前致谢

1 个答案:

答案 0 :(得分:0)

事实上,你可以。您必须设置提供程序,有大量的提供程序。

首先查看提供者页面: 检查email providers list 如果您想像我一样使用 SMTP,请安装 strapi-provider-email-smtp npm i strapi-provider-email-smtp

然后在以下位置创建一个插件文件:config/plugins.js 如果您没有它。

在那里添加相应的配置。即

module.exports = ({ env }) => ({
  email: {
    provider: 'smtp',
    providerOptions: {
      host: 'smtp.mailtrap.io',
      port: 2525,
      //secure: true,
      username: '**********',
      password: '9ecbdccff34a9c',
      //rejectUnauthorized: false,
      //requireTLS: false,
      connectionTimeout: 3,
    },
    settings: {
      from: 'info@mail.com',
      replyTo: 'info@mail.com',
    },
  },
  // ...
});

你去吧,享受通过 SMTP 或其他提供商发送电子邮件的乐趣。