2017-01-30 25 views
1

私はvuejs2の初心者です(webpackとvuejs2を使用して)簡単な連絡フォームを作成しようとしています。webpack vuejsから電子メールを送信

私は、次の方法を指して、送信ボタンで自分のフォームを作成しました:

<button @click.prevent="sendemail" class="btn btn-xl">Send</button> 

と方法:

methods: { 
sendemail() { 
    var mailgun = require('mailgun.js') 
    var mg = mailgun.client({username: 'MYUSERNAME', key: MYAPIKEY}) 
    mg.messages.create('MYDOMAIN', { 
    from: 'FROMEMAIL', 
    to: ['TOEMAIL'], 
    subject: 'SUBJECT', 
    text: 'TEXT' 
    }) 
    .then(msg => console.log(msg)) // logs response data 
    .catch(err => console.log(err)) // logs any error 
} 
} 

私はボタンを送る押すと、私は次のエラーを取得する:

XMLHttpRequestはロードできませんhttps://api.mailgun.net/v3/MYDOMAIN/messages。要求ヘッダーフィールド許可は、プリフライト応答でAccess-Control-Allow-Headersによって許可されません。

提案やその他の方法はありますか?

+0

mailgunを端末経由でインストールしましたか?あなたのドメイン/サブドメインにDNSレコードを追加しましたか? – FBC

答えて

0

mailgun-jsドキュメントは、我々がこれを行うことができますどのようにする方法を指定します。

var api_key = 'key-XXXXXXXXXXXXXXXXXXXXXXX'; 
var domain = 'www.mydomain.com'; 
var mailgun = require('mailgun-js')({apiKey: api_key, domain: domain}); 

var data = { 
    from: 'Excited User <[email protected]>', 
    to: '[email protected]', 
    subject: 'Hello', 
    text: 'Testing some Mailgun awesomness!' 
}; 

mailgun.messages().send(data, function (error, body) { 
    console.log(body); 
}); 

また、注意の言葉を誰もがそれを使用して電子メールを送ることができるように、私は私のフロントエンドでapi_keyを入れないでしょう。代わりに、電子メールを送信するバックエンドを選択してみてください。

関連する問題