2017-01-30 7 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/сообщения. Поле заголовка запроса Авторизация не разрешена заголовками 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 в моем веб-интерфейсе, как любой человек может использовать его и отправлять электронную почту. Вместо этого попробуйте выбрать бэкэнд, который будет отправлять вам электронные письма.

Смежные вопросы