如何使用Angular 7发送电子邮件

时间:2019-02-24 07:34:09

标签: angular typescript email scripting

我现在正在使用Angular7,开始开发应用程序,我想知道如何从angular7应用程序发送电子邮件。请分享示例代码

5 个答案:

答案 0 :(得分:6)

您可以使用一些BaaS(后端即服务)提供程序,例如Formspree。它非常简单易用,使您无需编写或设置后端即可发送电子邮件。您所需要做的就是从您的角度应用程序发布Http请求,该服务将处理其余的工作。

  1. 在formspree.io上创建一个帐户
  2. 点击“ +新表格”按钮
  3. 输入您要接收的电子邮件

然后,您将获得此新创建表单的唯一端点,该表单可用于从角度应用程序发送(发送)电子邮件到。端点将看起来像这样:https://formspree.io/asdlf7asdf

以下是一些使用模板驱动的表单的示例代码:

html格式

<form (ngSubmit)="onSubmit(contactForm)" #contactForm="ngForm">
    <input type="text" placeholder="Name" name="name" ngModel required #name="ngModel">
    <input type="text" placeholder="Email" email name="email" ngModel required #email="ngModel">
    <textarea placeholder="Messages" name="messages" ngModel required #messages="ngModel"></textarea>
    <input type="submit" value="Send">
</form>

背后的代码

 onSubmit(contactForm: NgForm) {
    if (contactForm.valid) {
      const email = contactForm.value;
      const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
      this.http.post('https://formspree.io/asdlf7asdf',
        { name: email.name, replyto: email.email, message: email.messages },
        { 'headers': headers }).subscribe(
          response => {
            console.log(response);
          }
        );
    }
  }

您可以使用此(或其他)服务做更多的事情,但这将是它的基本要旨。

答案 1 :(得分:2)

Angular在客户端工作,并且需要使用服务器来发送电子邮件,所以我认为现在无法仅使用需要使用服务器端应用程序发送电子邮件的angular来发送电子邮件。

答案 2 :(得分:1)

这不可能通过Angular发送电子邮件。 您可以创建Node Js Express服务器,然后从那里发送电子邮件。 我已经使用以下项目来实现这一目标: https://github.com/niftylettuce/email-templates

答案 3 :(得分:0)

首先,您需要了解角度的​​性质。但是,假设您不熟悉Angular,则必须了解Angular只是视图前端框架。因此,它无法自行发送电子邮件。为了使angular能够进行交易,您需要一个可以使angular代表其发送电子邮件的后端系统。

这是通过Web API实现的。因此,您必须创建一个API,Angular可以通知该API发送电子邮件。就我所知,这是我所知道的使用最广泛的方法。

答案 4 :(得分:-2)

Angular在客户端工作,并且需要使用服务器来发送电子邮件,因此,我认为现在不可能仅使用需要使用服务器端应用程序发送电子邮件的angular来发送电子邮件。 您也可以使用Gmail api发送电子邮件或节点邮件程序。 网址:-https://nodemailer.com/about/