API FormToMail предназначен для отправки писем с вашего сайта на вашу электронную почту.
Если при создании API-ключа был указан URL вашего сайта, он будет автоматически добавлен в CORS (Access-Control-Allow-Origin) и запросы будут приниматься только с этого домена. Если URL не указан, CORS Origin будет установлен в *, что позволяет отправлять запросы с любых источников.
Действует защита от частого отправления — не более 3 раз в минуту
let response = await fetch("https://api.formtomail.ru/send", { method: "POST", mode: "cors", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ to: "mymail@mail.ru", // Куда приходит (можно не указывать) title: "Новая заявка", // Заголовок письма body: { // Содержимое формы (можно прислать HTML) "Имя": "значение поля", "Телефон": "значение поля" }, apiKey: "ВАШ_API_КЛЮЧ" }) }); let body = await response.json();
{ "statusCode": 200, "message": "Успешно отправлено" }
{ "statusCode": 400, "message": "Ошибка отправки письма" }
API поддерживает отправку файлов общим объёмом до 150MB, объём каждого не более 25MB.
let formData = new FormData(); formData.append("to", JSON.stringify(["mymail1@mail.ru", "mymail2@mail.ru"])); // Куда приходит (можно не указывать) formData.append("title", "Новая заявка"); // Заголовок письма formData.append("body", JSON.stringify({ // Содержимое формы (можно прислать HTML) "Имя": "значение поля", "Телефон": "значение поля" })); formData.append("apiKey", "ВАШ_API_КЛЮЧ"); // Пример добавления файлов let filesInput = document.getElementById("files"); let files = Array.from(filesInput.files); files.forEach((file) => { formData.append("attachments", file, encodeURIComponent(file.name)); }); let response = await fetch("https://api.formtomail.ru/send", { method: "POST", mode: "cors", body: formData, }); let body = await response.json();
Если у вас возникли вопросы, обращайтесь в поддержку: support@formtomail.ru