Нужен Javascript для веб-сайта Wix для отправки электронных писем с отправленными формами через API Serivce - PullRequest
0 голосов
/ 12 июня 2018

Я новичок в javascript, любая помощь будет оценена.

Обновление
Шаги на данный момент:
1.) Создан Wixsite и форма
2.) Создана учетная запись Mailjet и зарегистрированный адрес электронной почты в качестве утвержденного отправителя
3.) У меня есть мой API-ключ и мой Секретный API-ключ
4.) У меня есть 2 бэкэнда .js файлы
_a.) Mailjet.js
_b.) Email.js

Следующий коднаходится в моем mailjet.js:

import wixFetch from 'wix-fetch'; export function sendWithMailjet(MJ_APIKEY_PUBLIC, MJ_APIKEY_PRIVATE, FromEmail, FromName, Recipients, subject, content) {
    var headers = {
    "Authorization": "Basic" + btoa(MJ_APIKEY_PUBLIC + ":" + MJ_APIKEY_PRIVATE),
    "Content-Type": "application/json"
};
var body = {
    "FromEmail": FromEmail,
    "FromName": FromName,
    "Subject": subject,
    "Text-part": content,
    "Recipients": [{
            "Email": Recipients
        }
    ]
};


return fetch('"https://api.mailjet.com/v3/send', {
    method: 'POST',
    headers: headers,
    body: JSON.stringify(body)
})
.then((res) => {
if (res.status === 200)
        return 'Email was sent';
    else {
        var headersString = '';
        res.headers.forEach((value, name) => headersString += `${name}: ${value}\n`);
        return res.text()
        .then((bodyText) => {
            return Promise.reject(new Error('Failed to send email.\n' +
                    `Status: ${res.status}\n` + 
                    headersString +
                    bodyText));
        })
    }
});}

Следующий код находится в моем email.js

    import {sendWithMailjet} from 'backend/mailjet.js'; export function sendEmail(FromEmail, FromName, Recipients, subject, content) {
    const MJ_APIKEY_PUBLIC = 'myapipubliccode'; //mailjet API key
    const MJ_APIKEY_PRIVATE = 'myapisecretcode'; //mailjet secret key
    FromEmail = 'jparks@jonescarter.com';
    FromName = '"James Parks" <jparks@jonescarter.com>';
    return sendWithMailjet(MJ_APIKEY_PUBLIC, MJ_APIKEY_PRIVATE, FromEmail, FromName, Recipients, subject, content);
}

На моей странице формы у меня есть следующий код:

    import {sendEmail} from 'backend/email';
function SendClientEmail() {
    const Subject = `New Submission from ${$w("#input3").value}`;
    var content = `Name: ${$w("#input1").value}   
    \rEmail: ${$w("#input3").value}
    \rFirstName: ${$w("#input1").value}
    \rLastName: ${$w("#input2").value}
    \rUserEmail: ${$w("#input3").value}
    \rLocation: ${$w("#dropdown1").value}
    \rPractice: ${$w("#dropdown2").value}
    \rEventName: ${$w("#input4").value}
    \rEventDate: ${$w("#datePicker1").value}
    \rNeededBy: ${$w("#datePicker2").value}
    \rQuantity: ${$w("#input5").value}
    \rConfirm: ${$w("#dropdown3").value}
    \rComments: ${$w("#textBox1").value}`;
    var Recipients = `${$w("#input3").value}`;
    //Make sure your from email address is validated in mailjet
    sendEmail("FromEmail","FromName","Recipients",Subject, content)
    .then(response => console.log(response));}

Ресурсы:
Wix, как отправлять отправленные формы электронной почты - https://support.wix.com/en/article/how-to-send-an-email-on-form-submission
Mailjet для разработчиков - https://dev.mailjet.com/guides/?java#getting-started

Опять же, любая помощь будет принята с благодарностью.Спасибо!

...