2017-09-11 11 views
-4

角度4から電子メールを送信する方法を理解しようとしています。 私はNodeJSを設定しており、mailgunでアカウントを作成しました。角度4からNodeJSにHTTPリクエストを送信

私の要求ファイル

var headers = new Headers(); 
headers.append("Authorization", "Basic "+btoa("api:key-XXXXXXXXXXXXX")); 
var url="https://api.mailgun.net/v3/DOMAIN.mailgun.org.mailgun.org/messages"; 
var mail = { 
    from : "text", 
    to : "text", 
    subject : "text", 
    text : "text" 
}; 
this._http.post(url, message, {headers:authHeader}); 

私が提供され、受け入れられた答えはAngularJS(1.1)のためだったノードのjs

答えて

3

と角度接続する方法を理解していません。 $scope,module()、またはcontroller()は、角度2+で単純にありません。

documentationから、POSTにヘッダを追加する:

let message = { 
    from : "text", 
    to : "text", 
    subject : "text", 
    text : "text" 
}; 

this.http.post('/some/api/path', JSON.stringify(message), { 
    headers: new HttpHeaders().set('Authorization', "Basic " + btoa("api:key-XXXXXXXXXXXXX")) 
}) 
.subscribe(res => console.log(res)); 

またはHttpHeadersオブジェクト使用:あなたは角度2を使用している場合、前の例には、角4+ HttpClientModuleためのものである

let foo: string = btoa("api:key-XXXXXXXXXXXXX"); 
let headers = new HttpHeaders({ 'Authorization': "Basic " + foo)}); 

this.http.post('/some/api/path', JSON.stringify(message), { headers: headers }) 
    .subscribe(res => console.log(res)); 

を.xとHttpModuleの場合は、HeadersRequestOptionsを使用してthisのようにアプローチできます。

import { Headers, RequestOptions } from '@angular/http'; 

let message = { /* ... */ }; 

let foo: string = btoa("api:key-XXXXXXXXXXXXX"); 
let headers = new Headers({ 'Authorization': "Basic " + foo)}); 
let options = new RequestOptions({ headers: headers }); 

this.http.post('/some/api/path', JSON.stringify(message), options) 
    .subscribe(res => console.log(res)); 

うまくいけば助けてください! { ましょうFOO:文字列= btoa:RequestOptions 『」 エクスポートクラス入学コンポーネント{ コンストラクタ(HTTP保護されたHTTP)」『ヘッダ』はタイプのパラメータに割り当てられないタイプの引数』:

+0

は今、私はこのエラーを取得しています( "api:key-XXXXXXXXXXXXX"); letヘッダー=新しいHttpHeaders({'承認': "Basic" + foo}); オプション=新しいRequestOptions({ヘッダー:ヘッダー)}; this.http.post (res/console.log(res)); –

+0

Angle 4+ではなくHttpModuleを使用しているようですが、 HttpClientModule。代わりに 'RequestOptions'を' Headers'と一緒に使う必要があります。私はデモの答えを更新しましたこれを宣言してください。希望が助けてくれる! –

+0

エラーが発生しました: 'from'パラメータがありません。メッセージmwssage = {から '[email protected]' に '[email protected]' 件名: 'テキスト'、 テキスト: 'テキスト'、 マルチ:真}。 foo:string = btoa( "api:key-xxxxxxxx"); ヘッダー=新しいHttpHeaders({'認証': "Basic" + this.foo}); send(){this.http.post( 'https://api.mailgun.net/v3/sandboxc.mailgun.org/messages'、JSON.stringify(this.message)、{headers:this.headers}) .subscribe(res => console.log(res)); –

関連する問題