Уведомление электронной почты JS на Tampermonkey [дубликат]

use: clrscr ();

  #include & lt; iostream & gt;  использование пространства имен std;  int main () {clrscr ();  cout & lt;  "Привет мир!"  & Л; & л;  епсИ;  return 0;  }  
178
задан Francisco Corrales Morales 2 May 2014 в 21:25
поделиться

19 ответов

Вы не можете отправить электронное письмо непосредственно с помощью javascript.

Однако вы можете открыть почтовый клиент пользователя:

window.open('mailto:test@example.com');

Также есть некоторые параметры, заполните тему и тело:

window.open('mailto:test@example.com?subject=subject&body=body');

Еще одно решение - сделать вызов ajax на ваш сервер, чтобы сервер отправил электронное письмо. Будьте осторожны, чтобы никто не мог отправлять какие-либо письма через ваш сервер.

234
ответ дан Jacob 16 August 2018 в 00:38
поделиться
  • 1
    Если программа, открывающая страницу, уже имеет функции почтового клиента. (Например, Opera 12.50), то она открывает ссылку как обычный URL-адрес. Их также Thunderbird, у которых есть движок firefox gecko: он может открывать веб-страницы из гиперссылок в сообщениях электронной почты в качестве новых вкладок. – user2284570 9 November 2013 в 22:02
  • 2
    Просто заметьте, вы также можете использовать window.location.href (например, в этом ответе: stackoverflow.com/questions/271171/… ), чтобы открыть почтовый клиент, и он не оставляет это пустое окно позади когда пользователь закончил работу с электронной почтой. – igneosaur 19 November 2014 в 13:51
  • 3
    Переменные subject и body или они являются фактическим текстом, который будет в полях? – stackptr 27 November 2014 в 18:46
  • 4
    этот ответ действительно не отвечает на вопрос, но ответ @ rahulroy хороший – Medet Tleukabiluly 2 July 2015 в 08:25
  • 5
    Я бы сделал еще один шаг и сделал window.open( String( 'mailto:recipient^example.com' ).replace('^', '@') );, чтобы запутать спам-ботов – Pavel Lebedeff 22 November 2017 в 15:52

На ваш вопрос нет прямого ответа, поскольку мы не можем отправлять электронную почту только с помощью javascript, но есть способы использовать javascript для отправки писем нам:

1), используя api to и call api через javascript для отправки электронной почты для нас, например https://www.emailjs.com говорит, что вы можете использовать такой код ниже, чтобы вызвать их api после некоторой настройки:

var service_id = 'my_mandrill';
var template_id = 'feedback';
var template_params = {
name: 'John',
reply_email: 'john@doe.com',
message: 'This is awesome!'
};

emailjs.send(service_id,template_id,template_params);

2) создайте код для отправки электронной почты для вас, вы можете использовать любую базовую инфраструктуру, чтобы сделать это за вас.

3) используя что-то вроде:

window.open('mailto:me@http://stackoverflow.com/');

, которое откроет ваше почтовое приложение, это может попасть в заблокированное всплывающее окно вашего браузера.

отправка электронной почты - это задача сервера, поэтому это должно быть сделано на бэкэнд-языках, но мы можем использовать javascript для сбора необходимых данных и отправки их на сервер или api, также мы можем использовать приложение с трем паритетами и открывать их через браузер используя javascript, как указано выше.

2
ответ дан Alireza 16 August 2018 в 00:38
поделиться
  • 1
    Re (1): Я бы действительно не хотел давать мой SMTP-пароль маленькой маленькой компании, чтобы они могли отправлять электронные письма с использованием моего сервера в обмен на ничего, кроме моего пароля. Я не плачу им. У них нет сильной мотивации, чтобы поддерживать работу / действительно защищать мои учетные данные / не использовать мой сервер для их спама. – Quentin 16 January 2018 в 16:01

Отправьте электронное письмо с помощью JavaScript или jQuery

var ConvertedFileStream;
var g_recipient;
var g_subject;
var g_body;
var g_attachmentname;


function SendMailItem(p_recipient, p_subject, p_body, p_file, p_attachmentname, progressSymbol) {

    // Email address of the recipient 
    g_recipient = p_recipient;

   // Subject line of an email
    g_subject = p_subject;

   // Body description of an email
    g_body = p_body;

    // attachments of an email
    g_attachmentname = p_attachmentname;

    SendC360Email(g_recipient, g_subject, g_body, g_attachmentname);

}

function SendC360Email(g_recipient, g_subject, g_body, g_attachmentname) {
    var flag = confirm('Would you like continue with email');
    if (flag == true) {

        try {
            //p_file = g_attachmentname;
            //var FileExtension = p_file.substring(p_file.lastIndexOf(".") + 1);
           // FileExtension = FileExtension.toUpperCase();
            //alert(FileExtension);
            SendMailHere = true;

            //if (FileExtension != "PDF") {

            //    if (confirm('Convert to PDF?')) {
            //        SendMailHere = false;                    
            //    }

            //}
            if (SendMailHere) {
                var objO = new ActiveXObject('Outlook.Application');

                var objNS = objO.GetNameSpace('MAPI');

                var mItm = objO.CreateItem(0);

                if (g_recipient.length > 0) {
                    mItm.To = g_recipient;
                }

                mItm.Subject = g_subject;

                // if there is only one attachment                 
                // p_file = g_attachmentname;
                // mAts.add(p_file, 1, g_body.length + 1, g_attachmentname);

                // If there are multiple attachment files
                //Split the  files names
                var arrFileName = g_attachmentname.split(";");
                 // alert(g_attachmentname);
                //alert(arrFileName.length);
                var mAts = mItm.Attachments;

                for (var i = 0; i < arrFileName.length; i++)
                {
                    //alert(arrFileName[i]);
                    p_file = arrFileName[i];
                    if (p_file.length > 0)
                    {                     
                        //mAts.add(p_file, 1, g_body.length + 1, g_attachmentname);
                        mAts.add(p_file, i, g_body.length + 1, p_file);

                    }
                }

                mItm.Display();

                mItm.Body = g_body;

                mItm.GetInspector.WindowState = 2;

            }
            //hideProgressDiv();

        } catch (e) {
            //debugger;
            //hideProgressDiv();
            alert('Unable to send email.  Please check the following: \n' +
                    '1. Microsoft Outlook is installed.\n' +
                    '2. In IE the SharePoint Site is trusted.\n' +
                    '3. In IE the setting for Initialize and Script ActiveX controls not marked as safe is Enabled in the Trusted zone.');
        }
    }
  }
-4
ответ дан Anil Rathod 16 August 2018 в 00:38
поделиться
  • 1
    Пожалуйста, уточните, как этот код отвечает на вопрос. – JAL 5 February 2016 в 06:12
  • 2
    Похоже, что это использование ActiveX и работает только в IE на ПК с установленным Outlook var objO = new ActiveXObject('Outlook.Application'); – Chic 23 February 2016 в 16:49

Кажется, на горизонте появилось новое решение. Он называется EmailJS . Они утверждают, что серверный код не требуется. Вы можете запросить приглашение.

Обновить август 2016: EmailJS, похоже, уже жив. Вы можете бесплатно отправлять до 200 писем в месяц и предлагает подписку на более высокие объемы.

4
ответ дан Christiaan Westerbeek 16 August 2018 в 00:38
поделиться
  • 1
    Это немного руля, очень симпатичный интерфейс, но все примеры документации или помощь. Избегайте. – Skarsnik 2 March 2016 в 11:52
  • 2
    попробовал EmailJS, решил мои проблемы – Iftikar Urrhman Khan 17 August 2016 в 20:20
  • 3
    Я попробовал emailJS, но он отправляется только на мой адрес электронной почты. Как я могу отправить на другое электронное письмо? – Maged Saeed 5 April 2018 в 00:37

JavaScript не может отправлять электронную почту из веб-браузера. Однако, отступив от решения, которое вы уже пытались реализовать, вы можете сделать то, что соответствует исходному требованию:

отправить сообщение без обновления страницы

Вы можете использовать JavaScript для создания значений, которые будут нужны электронной почте, а затем сделать запрос AJAX к серверному ресурсу, который фактически отправит электронное письмо.

Если вы не знакомы с AJAX, быстрый поиск в Google даст вам информацию о том, какие серверные языки / технологии вы используете, так что ваша часть зависит от вас. много информации. Как правило, вы можете быстро запустить его и запустить с помощью функции $ .ajax () jQuery. Вам просто нужно иметь страницу на сервере, которая может быть вызвана в запросе.

2
ответ дан David 16 August 2018 в 00:38
поделиться

Javascript - это клиентская сторона, вы не можете отправлять электронную почту с помощью Javascript. Браузер распознает, может быть, только mailto: и запускает почтовый клиент по умолчанию.

3
ответ дан evilone 16 August 2018 в 00:38
поделиться
  • 1
    что объясняло бы, почему я не мог найти никакой информации об этом. Спасибо!! – user906357 11 September 2011 в 21:55
  • 2
    То же самое ... Будущий API, который может обеспечить подключение к порту, идет ... – user2284570 9 November 2013 в 21:57

Другим способом отправки электронной почты из JavaScript является использование directtomx.com следующим образом:

 Email = {
 Send : function (to,from,subject,body,apikey)
    {
        if (apikey == undefined)
        {
            apikey = Email.apikey;
        }
        var nocache= Math.floor((Math.random() * 1000000) + 1);
        var strUrl = "http://directtomx.azurewebsites.net/mx.asmx/Send?";
        strUrl += "apikey=" + apikey;
        strUrl += "&from=" + from;
        strUrl += "&to=" + to;
        strUrl += "&subject=" + encodeURIComponent(subject);
        strUrl += "&body=" + encodeURIComponent(body);
        strUrl += "&cachebuster=" + nocache;
        Email.addScript(strUrl);
    },
    apikey : "",
    addScript : function(src){
            var s = document.createElement( 'link' );
            s.setAttribute( 'rel', 'stylesheet' );
            s.setAttribute( 'type', 'text/xml' );
            s.setAttribute( 'href', src);
            document.body.appendChild( s );
    }
};

Затем вызовите его со своей страницы следующим образом:

 window.onload = function(){
    Email.apikey = "-- Your api key ---";
    Email.Send("to@domain.com","from@domain.com","Sent","Worked!");
 }
2
ответ дан Fiach Reid 16 August 2018 в 00:38
поделиться
  • 1
    Чтобы добавить к этому альтернативный способ, предполагая, что у вас есть доступ к SMTP-серверу, вы должны использовать этот скрипт в smtpjs.com/smtp.js , который называется следующим образом; Email.send ("from@you.com" ;," to@them.com" ;, "Тема", "Тело.", "Smtp.yourisp.com", "username", " пароль & Quot;); - См. Smtpjs.com – Fiach Reid 2 February 2016 в 17:49
  • 2
    вы можете отправить html с помощью smtp.js? – Alejandro Corredor 17 January 2017 в 16:00

window.open ( 'электронной почты: test@example.com'); как указано выше, ничего не дает скрыть адрес электронной почты test@example.com от сбора спам-ботов. Я постоянно сталкивался с этой проблемой.

var recipient="test";
var at = String.fromCharCode(64);
var dotcom="example.com";
var mail="mailto:";
window.open(mail+recipient+at+dotcom);
6
ответ дан Helga Iliashenko 16 August 2018 в 00:38
поделиться

В вашей функции sendMail() добавьте вызов ajax на ваш сервер, где вы можете реализовать это на стороне сервера.

5
ответ дан Jeremy Huiskamp 16 August 2018 в 00:38
поделиться

Кажется, что один «ответ» на это заключается в реализации клиента SMPT. См. email.js для библиотеки JavaScript с SMTP-клиентом.

Ниже приведен репозиторий GitHub для SMTP-клиента. Основываясь на README репо, кажется, что в зависимости от клиентского браузера может потребоваться множество прокладок или полиполков, но в целом это, безусловно, представляется выполнимым (если не реально значительно достигнутым), тем не менее, это легко описывается даже разумно, длинный ответ здесь.

3
ответ дан Kenny Evitt 16 August 2018 в 00:38
поделиться

Короткий ответ заключается в том, что вы не можете сделать это, используя только JavaScript. Вам понадобится обработчик на стороне сервера для подключения к SMTP-серверу для фактической отправки почты. Есть много простых почтовых скриптов в Интернете, таких как этот для PHP:

Используйте Ajax для отправки запроса на PHP-скрипт, убедитесь, что обязательное поле не пусто или неверно, используя js, также сохраняйте запись отправки почты кем с вашего сервера.

function sendMail() is good for doing that.

Проверьте, не была ли обнаружена ошибка при отправке почты с вашего скрипта и принятия соответствующих мер. Для его устранения, например, если неправильный адрес электронной почты или почта не отправляется из-за проблемы с сервером или она находится в очереди в таком состоянии, немедленно сообщите об этом пользователю и не позволяйте повторной отправке одного и того же адреса электронной почты снова и снова. Получите ответ от вашего скрипта. Используя jQuery GET и POST

$. Get (URL, callback); $ .post (URL, обратный вызов);

0
ответ дан P. BANERJEE 16 August 2018 в 00:38
поделиться

Непрямой через ваш сервер - вызов стороннего API - безопасный и рекомендуемый


. После правильной авторизации и авторизации ваш сервер может вызывать сторонний API. Ключи API не отображаются клиенту.

node.js - https://www.npmjs.org/package/node-mandrill

var mandrill = require('node-mandrill')('<your API Key>'); 

function sendEmail ( _name, _email, _subject, _message) {
    mandrill('/messages/send', {
        message: {
            to: [{email: _email , name: _name}],
            from_email: 'noreply@yourdomain.com',
            subject: _subject,
            text: _message
        }
    }, function(error, response){
        if (error) console.log( error );
        else console.log(response);
    });
}

// define your own email api which points to your server.

app.post( '/api/sendemail/', function(req, res){

    var _name = req.body.name;
    var _email = req.body.email;
    var _subject = req.body.subject;
    var _messsage = req.body.message;

    //implement your spam protection or checks. 

    sendEmail ( _name, _email, _subject, _message );

});

, а затем использовать для вызова API электронной почты $ .ajax на клиенте.


Непосредственно от клиента - вызов API сторонней стороны - не рекомендуется


Отправьте электронное письмо, используя только JavaScript

in short: 
1. register for Mandrill to get an API key
2. load jQuery
3. use $.ajax to send an email

Нравится это -

function sendMail() {
    $.ajax({
      type: 'POST',
      url: 'https://mandrillapp.com/api/1.0/messages/send.json',
      data: {
        'key': 'YOUR API KEY HERE',
        'message': {
          'from_email': 'YOUR@EMAIL.HERE',
          'to': [
              {
                'email': 'RECIPIENT@EMAIL.HERE',
                'name': 'RECIPIENT NAME (OPTIONAL)',
                'type': 'to'
              }
            ],
          'autotext': 'true',
          'subject': 'YOUR SUBJECT HERE!',
          'html': 'YOUR EMAIL CONTENT HERE! YOU CAN USE HTML!'
        }
      }
     }).done(function(response) {
       console.log(response); // if you're into that sorta thing
     });
}

https://medium.com/design-startups/b53319616782

Примечание. Имейте в виду, что ваш ключ API виден всем, поэтому любой злоумышленник может использовать ваш ключ для отправки сообщений электронной почты, которые могут съесть вашу квоту.

80
ответ дан rahulroy9202 16 August 2018 в 00:38
поделиться
  • 1
    даже несмотря на то, что в статье говорится об этом, я чувствую, что здесь также следует сказать, что, хотя это и будет работать, есть некоторые проблемы с безопасностью, так как вам нужно также отправить свой ключ api клиенту. это можно было бы злоупотреблять. – cantdutchthis 28 January 2014 в 11:51
  • 2
    Да, это хорошо, но я смог отправить два письма. Тогда я постоянно получаю 500 ошибок с сервера ... Вы тоже получаете то же самое? – RMachnik 8 July 2015 в 19:03
  • 3
    Привет @Rafik, пожалуйста, напишите новый вопрос с образцом кода. Это поможет в решении проблемы. 500 - внутренняя ошибка сервера. – rahulroy9202 9 July 2015 в 05:22
  • 4
    Хорошо, теперь я нашел проблему. Я отправлял неправильно закодированные символы. Его работа прекрасна, спасибо – RMachnik 9 July 2015 в 17:28
  • 5
    @ cnotethegr8 Отъезд Mailgun - mailgun.com/pricing – rahulroy9202 14 March 2016 в 06:50

Вы можете найти, что помещать внутри функции JavaScript в этом сообщении.

function getAjax() {
    try {
        if (window.XMLHttpRequest) {
            return new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            try {
                return new ActiveXObject('Msxml2.XMLHTTP');
            } catch (try_again) {
                return new ActiveXObject('Microsoft.XMLHTTP');
            }
        }
    } catch (fail) {
        return null;
    }
}

function sendMail(to, subject) {
     var rq = getAjax();

     if (rq) {
         // Success; attempt to use an Ajax request to a PHP script to send the e-mail
         try {
             rq.open('GET', 'sendmail.php?to=' + encodeURIComponent(to) + '&subject=' + encodeURIComponent(subject) + '&d=' + new Date().getTime().toString(), true);

             rq.onreadystatechange = function () {
                 if (this.readyState === 4) {
                     if (this.status >= 400) {
                         // The request failed; fall back to e-mail client
                         window.open('mailto:' + to + '?subject=' + encodeURIComponent(subject));
                     }
                 }
             };

             rq.send(null);
         } catch (fail) {
             // Failed to open the request; fall back to e-mail client
             window.open('mailto:' + to + '?subject=' + encodeURIComponent(subject));
         }
     } else {
         // Failed to create the request; fall back to e-mail client
         window.open('mailto:' + to + '?subject=' + encodeURIComponent(subject));
     }
}

Предоставьте собственный скрипт PHP (или любой другой язык) для отправки электронной почты.

25
ответ дан Ry- 16 August 2018 в 00:38
поделиться

function send() {
  setTimeout(function() {
    window.open("mailto:" + document.getElementById('email').value + "?subject=" + document.getElementById('subject').value + "&body=" + document.getElementById('message').value);
  }, 320);
}
input {
  text-align: center;
  border-top: none;
  border-right: none;
  border-left: none;
  height: 10vw;
  font-size: 2vw;
  width: 100vw;
}

textarea {
  text-align: center;
  border-top: none;
  border-right: none;
  border-left: none;
  border-radius: 5px;
  width: 100vw;
  height: 50vh;
  font-size: 2vw;
}

button {
  border: none;
  background-color: white;
  position: fixed;
  right: 5px;
  top: 5px;
  transition: transform .5s;
}

input:focus {
  outline: none;
  color: orange;
  border-radius: 3px;
}

textarea:focus {
  outline: none;
  color: orange;
  border-radius: 7px;
}

button:focus {
  outline: none;
  transform: scale(0);
  transform: rotate(360deg);
}
<!DOCTYPE html>
<html>

<head>
  <title>Send Email</title>
</head>

<body align=center>
  <input id="email" type="email" placeholder="yourfreind@something.somthing"></input><br><br>
  <input id="subject" placeholder="Subject"></input><br>
  <textarea id="message" placeholder="Message"></textarea><br>
  <button id="send" onclick="send()"><img src=https://www.dropbox.com/s/chxcszvnrdjh1zm/send.png?dl=1 width=50px height=50px></img></button>
</body>

</html>

2
ответ дан Samuel Tees 16 August 2018 в 00:38
поделиться
  • 1
    Он использует почтовый клиент, а не непосредственно из javascript. – Weijing Jay Lin 12 April 2018 в 21:51

Существует комбинированная услуга. Вы можете комбинировать перечисленные выше решения, такие как мандрилл, с сервисом EmailJS, который может сделать систему более безопасной. Тем не менее, они еще не начали службу.

2
ответ дан Santhosh Menon 16 August 2018 в 00:38
поделиться

Поскольку все это замечательная информация, есть небольшая api, называемая Mandrill для отправки писем с javascript, и она отлично работает. Вы можете дать ему шанс. Вот несколько учебник для начала.

-1
ответ дан Sercan Ozdemir 16 August 2018 в 00:38
поделиться

Я разорву эту новость вам. Вы НЕ МОЖЕТЕ послать электронное письмо с помощью JavaScript как такового.


Исходя из контекста вопроса OP, мой ответ выше не выдерживает больше, как указано в комментариях @KennyEvitt. Похоже, вы можете использовать JavaScript в качестве SMTP-клиента .

Однако я еще не углублялся, чтобы узнать, безопасно ли оно и amp; совместим с кросс-браузером. Поэтому я не могу ни поощрять, ни препятствовать вам использовать его. Используйте на свой страх и риск.

17
ответ дан Shef 16 August 2018 в 00:38
поделиться

Я бы сделал это с библиотекой SMTPJs . Он предлагает шифрование для ваших учетных данных, таких как имя пользователя, пароль и т. д.

1
ответ дан Suhail Mumtaz Awan 16 August 2018 в 00:38
поделиться
  • 1
    Я бы действительно не хотел давать мой SMTP-пароль маленькой маленькой компании, чтобы они могли отправлять электронные письма с использованием моего сервера в обмен на ничего, кроме моего пароля. Я не плачу им. У них нет сильной мотивации, чтобы поддерживать работу / действительно защищать мои учетные данные / не использовать мой сервер для их спама. – Quentin 16 January 2018 в 16:02
  • 2
    @Quentin я понял, но эта библиотека может быть ответом на вопрос. – Suhail Mumtaz Awan 13 April 2018 в 04:13

Я не мог найти ответ, который действительно удовлетворял исходный вопрос.

  • Mandrill нежелательно из-за новой политики ценообразования, плюс для этого требуется бэкэнд-сервис, если вы хотите сохранить свои учетные данные в безопасности.
  • Чаще всего желательно скрыть свой адрес электронной почты, чтобы вы не попадали в какие-либо списки (решение mailto предоставляет эту проблему и не подходит большинству пользователей).
  • [gg]

Я собрал простой бесплатный сервис, который позволяет вам сделать стандартный запрос HTTP POST для отправки электронной почты. , Он называется PostMail , и вы можете просто отправить форму, использовать Javascript или jQuery. Когда вы регистрируетесь, он предоставляет вам код, который вы можете скопировать & amp; вставьте на свой сайт. Вот несколько примеров:

Javascript:

<form id="javascript_form">
    <input type="text" name="subject" placeholder="Subject" />
    <textarea name="text" placeholder="Message"></textarea>
    <input type="submit" id="js_send" value="Send" />
</form>

<script>

    //update this with your js_form selector
    var form_id_js = "javascript_form";

    var data_js = {
        "access_token": "{your access token}" // sent after you sign up
    };

    function js_onSuccess() {
        // remove this to avoid redirect
        window.location = window.location.pathname + "?message=Email+Successfully+Sent%21&isError=0";
    }

    function js_onError(error) {
        // remove this to avoid redirect
        window.location = window.location.pathname + "?message=Email+could+not+be+sent.&isError=1";
    }

    var sendButton = document.getElementById("js_send");

    function js_send() {
        sendButton.value='Sending…';
        sendButton.disabled=true;
        var request = new XMLHttpRequest();
        request.onreadystatechange = function() {
            if (request.readyState == 4 && request.status == 200) {
                js_onSuccess();
            } else
            if(request.readyState == 4) {
                js_onError(request.response);
            }
        };

        var subject = document.querySelector("#" + form_id_js + " [name='subject']").value;
        var message = document.querySelector("#" + form_id_js + " [name='text']").value;
        data_js['subject'] = subject;
        data_js['text'] = message;
        var params = toParams(data_js);

        request.open("POST", "https://postmail.invotes.com/send", true);
        request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

        request.send(params);

        return false;
    }

    sendButton.onclick = js_send;

    function toParams(data_js) {
        var form_data = [];
        for ( var key in data_js ) {
            form_data.push(encodeURIComponent(key) + "=" + encodeURIComponent(data_js[key]));
        }

        return form_data.join("&");
    }

    var js_form = document.getElementById(form_id_js);
    js_form.addEventListener("submit", function (e) {
        e.preventDefault();
    });
</script>

jQuery:

<form id="jquery_form">
    <input type="text" name="subject" placeholder="Subject" />
    <textarea name="text" placeholder="Message" ></textarea>
    <input type="submit" name="send" value="Send" />
</form>

<script>

    //update this with your $form selector
    var form_id = "jquery_form";

    var data = {
        "access_token": "{your access token}" // sent after you sign up
    };

    function onSuccess() {
        // remove this to avoid redirect
        window.location = window.location.pathname + "?message=Email+Successfully+Sent%21&isError=0";
    }

    function onError(error) {
        // remove this to avoid redirect
        window.location = window.location.pathname + "?message=Email+could+not+be+sent.&isError=1";
    }

    var sendButton = $("#" + form_id + " [name='send']");

    function send() {
        sendButton.val('Sending…');
        sendButton.prop('disabled',true);

        var subject = $("#" + form_id + " [name='subject']").val();
        var message = $("#" + form_id + " [name='text']").val();
        data['subject'] = subject;
        data['text'] = message;

        $.post('https://postmail.invotes.com/send',
            data,
            onSuccess
        ).fail(onError);

        return false;
    }

    sendButton.on('click', send);

    var $form = $("#" + form_id);
    $form.submit(function( event ) {
        event.preventDefault();
    });
</script>

Опять же, при полном раскрытии, я создал эту услугу, потому что я не мог найти подходящий ответ.

22
ответ дан user949286 16 August 2018 в 00:38
поделиться
  • 1
    Я искал это решение, спасибо за ответ, но мне интересно, как я могу добавить еще одно текстовое поле в форме html, потому что всякий раз, когда я пытаюсь изменить код, чтобы добавить еще одно текстовое поле для какой-либо другой информации, код был остановлен за работой. Знаете ли вы какое-либо решение для этого. – Suman 2 July 2016 в 23:15
  • 2
    Пользователи Gmail действительно могут сделать то, что вам нужно - см. developers.google.com/gmail/api , поэтому, возможно, некоторые другие поставщики электронной почты имеют свой Javascript API – Densi Tensy 10 August 2016 в 15:41
  • 3
    Это лучшее решение. Большое спасибо. У Mandrill больше нет бесплатного плана, а mailgun не поддерживает корс и, следовательно, JavaScript – stallingOne 25 January 2017 в 14:09
  • 4
    Не имеет ли такая же проблема, как и другие? Открыт токен доступа (API-ключ) – Greg Ennis 1 March 2017 в 14:01
  • 5
    У них есть ежедневный лимит в 25 писем в день. – Archi 6 March 2017 в 19:23
Другие вопросы по тегам:

Похожие вопросы: