簡體   English   中英

帶mailgun的Angular 4

[英]Angular 4 with mailgun

我正在嘗試為我的一個網站制作一個簡單的電子郵件表格,允許人們與我聯系。 該站點使用angular 4,並將mailgun作為郵件服務。 在我的郵件服務文件中,我有這種發送消息的方法,但是我收到一個Bad Request錯誤消息,提示from不存在。

  public sendMail(){ let url = 'https://api.mailgun.net/v3/XXXXXXXXXXXX.mailgun.org/messages'; let headers: Headers = new Headers(); headers.append('Authorization','Basic '+ btoa('api:key-XXXXXXXXXXXXXXXXXXX')); headers.append("Content-Type", "application/x-www-form-urlencoded"); let opts: RequestOptions = new RequestOptions(); opts.headers = headers; this.http.post(url, { from: '"Mailgun Sandbox" <postmaster@XXXXXXXXXX.mailgun.org>', to: "Test <test@gmail.com>", subject: 'Hello ', text: 'Congratulations, you just sent an email with Mailgun! You are truly awesome!' }, opts ).subscribe( success => { console.log("SUCCESS -> " + JSON.stringify(success)); }, error => { console.log("ERROR -> " + JSON.stringify(error)); } ); } 

我很難理解為什么在發送請求時from不會顯示為當前狀態。 任何幫助都很棒。

import { Injectable } from '@angular/core';
import { HttpHeaders, HttpClient } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})

export class PostService {

  constructor(private http: HttpClient) {
  }

  sendMail() {
    const headers = new HttpHeaders({
      'enctype': 'multipart/form-data',
      'Authorization': 'Basic ' + btoa('api:xxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxx-xxxxxx')
    });

    const formData = new FormData();
    formData.append('from', 'Mailgun Sandbox <postmaster@sandboxxxxxxxxxxxxxx.mailgun.org>');
    formData.append('to', 'xxxxxxxxxxxxxx.com');
    formData.append('subject', 'Hello');
    formData.append('text', 'This is cool !');

    this.http
      .post(
        'https://api.mailgun.net/v3/sandboxxxxxxxxxxxxxxxxxxxxxxxxxxb.mailgun.org/messages',
        formData,
        { headers }
      ).subscribe(
        res => { console.log('res : ', res); },
        err => { console.log('err : ', err); }
      );
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM