通过电子邮件发送表单输入而无需服

时间:2014-03-05 16:30:40

标签: javascript jquery html email

对于本地托管的HTML页面,我需要通过电子邮件发送一些用户输入(姓名,电子邮件,评论)。

这是在触摸屏显示器上完成的,访问者可以留下他们的信息和评论。

所以我考虑使用虚拟键盘,例如here

<form action="post" id="emails" onsubmit="return false;">
<input type="text" id="keyboard" placeholder="Enter name..."></input>
<input type="text"  id="keyboard2" placeholder="Enter email..."></input>
<input type='submit' id='send' value='Submit' />
</form>

我用它来发送电子邮件link

如果有正确的详细信息,以下代码可以正常工作,我会在收件箱中收到电子邮件。

$('#send').click(function() {
    $.ajax({ 
        type: 'POST',
        url: 'https://mandrillapp.com/api/1.0/messages/send.json',
        data: {
            'key': "xxxxxxxx",
            'message': {
            'from_email': "xxxxxx@xxxxxx.com",
            'to': [
            {
            'email': "xxxxxxxx@xxxxxxxxxx.com",
            'name': 'xxxxxx',
            'type': 'to'
            }
            ],
            'autotext': 'true',
            'subject': 'TEST! TEST!',
            'html': 'test'
            }
        }
    }).done(function(response) {
        console.log(response);
        alert("You send an email!"); // if you're into that sorta thing
    });
});

这样就可以了,因为它会发送电子邮件,其中包含文字:'html': 'test'

而不是'测试',我显然想要'姓名+电子邮件'。

(也可能每月少于50封电子邮件,所以现在只需要一封电子邮件就可以满足我的需求,不需要数据库并保存所有这些数据。我只想收到电子邮件。)

那么,它有可能吗?我应该怎么做?

我现在采取的路线是否可行,或者你会建议采用完全不同的方式吗?

2 个答案:

答案 0 :(得分:1)

// do everything inside after page load.
$(function() {
    $('#send').click(function() {
        // get values of inputs...
        var name = $('#keyboard').val(),
            email = $('#keyboard2').val();

        $.ajax({ 
            type: 'POST',
            url: 'https://mandrillapp.com/api/1.0/messages/send.json',
            data: {
                'key': "xxxxxxxx",
                'message': {
                'from_email': "xxxxxx@xxxxxx.com",
                'to': [
                {
                'email': "xxxxxxxx@xxxxxxxxxx.com",
                'name': 'xxxxxx',
                'type': 'to'
                }
                ],
                'autotext': 'true',
                'subject': 'TEST! TEST!',
                'html': 'Name: ' + name + '\nEmail: ' + email // and use it!
                }
            }
        }).done(function(response) {
            console.log(response);
            alert("You send an email!"); // if you're into that sorta thing
        });
    });
});

答案 1 :(得分:1)

我现在已经使用以下代码了解它:

$(function() {

$('#send').click(function() {
    var name = $('#keyboard').val();
    var email = $('#keyboard2').val();
    $.ajax({ 
        type: 'POST',
        url: 'https://mandrillapp.com/api/1.0/messages/send.json',
        data: {
            'key': "xxxxxxxx",
            'message': {
            'from_email': "xxxxxx@xxxxxx.com",
            'to': [
            {
            'email': "xxxxxxxx@xxxxxxxxxx.com",
            'name': 'xxxxxx',
            'type': 'to'
            }
            ],
            'autotext': 'true',
            'subject': 'TEST! TEST!',
            'html': 'Name: ' + name + '\nEmail: ' + email // and use it!
            }
        }
    }).done(function(response) {
        console.log(response);
        alert("You send an email!"); // if you're into that sorta thing
    });
  });
});

关于其他类似的问题,价值没有显示我读了一些关于.val()正在考虑页面加载的值(现在有意义),所以我将它们移动到点击功能,它给了我结果我在追求。