首页 > 解决方案 > 从 .NET API 和 Angular 项目发送电子邮件

问题描述

我正在通过开发一个使用 Angular 和 .NET 核心作为 API 的项目来学习编码。我开始进入这个项目的一个新领域,我希望得到一些建议,因为它对我来说是一个新领域,那就是从项目中发送电子邮件。

该项目有2个派别:

A:发送平台电子邮件(IE:注册电子邮件、密码重置、用户从 Angular 项目中请求的东西)

B:自动报告电子邮件,其中包含通过 API 通过移动应用程序提交给项目的数据。

对于平台电子邮件,我知道这需要在 Angular 项目本身中完成。但是,当有人使用基于手机的应用程序通过 API 提交数据时,应向指定人员发送一封电子邮件,其中包含所提交的数据。最后一部分是我在弄清楚需要做什么时遇到麻烦的地方。

我将把 SendGrid 合并到项目中来处理所有的电子邮件。但是,当信息通过 API 通过移动应用程序传递时,将电子邮件发送给指定人员的最佳做法是什么?我将假设这将在 API 本身中构建,因为它不会是 Angular 项目中的用户触发事件。事实上,Angular 项目甚至不会意识到数据已经提交。

关于我将如何解决这个问题的任何建议?我会在提交数据时触发的 API 中构建一个触发器,告诉 Sendgrid 发送带有数据的电子邮件吗?这会在 .NET API 中构建吗?以及如何仅使用 C# 构建电子邮件模板?

提前感谢您提供的任何输入!

标签: angular.net-core

解决方案


如果仅出于测试目的,您可以设置web.config将文件夹中的邮件输出为

<system.net>
  <mailSettings>
    <smtp deliveryMethod="SpecifiedPickupDirectory">
      <specifiedPickupDirectory pickupDirectoryLocation="c:\Temp\mail\"/>
    </smtp>
  </mailSettings>
</system.net>

成功后smtpClient.Send(message),您可以在文件夹中看到邮件文件,并使用outlook或记事本打开

更多信息请参见:https ://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/network/specifiedpickupdirectory-element-network-settings


推荐阅读