javascript - 在没有服务器的情况下通过电子邮件发送表单输入

标签 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 封电子邮件,所以现在只需要一封电子邮件就可以满足我的需要,不需要数据库和保存所有这些数据。我只想收到电子邮件。)

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

我现在走的路线是否可行,或者您会建议一种完全不同的方式吗?

最佳答案

// 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
        });
    });
});

关于javascript - 在没有服务器的情况下通过电子邮件发送表单输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22203536/

相关文章:

javascript - 如何向此 getJson 添加 setinterval

javascript - 如何使用 HTML 读取 JSON 文件?

javascript - 如何用 <br/> 替换某些回车换行符后跟破折号?

jquery - 我无法获取 Bootbox 输入字段值

jQuery 背景大小宽度和高度值

html - 随机颜色 CSS - 防止使用两次

html - 带有单选按钮的奇怪的 Firebug 行为

javascript - 在 NodeJS 中发出外部 HTTP 请求的单元测试 Controller 功能

javascript - 如何在不同的窗口中实现 oauth 进程,然后重新加载调用者窗口

JavaScript 显示/隐藏 Div 无法打开