使用JavaScript发送电子邮件

时间:2014-04-27 15:15:20

标签: javascript html forms

我试图找到通过JavaScript发送电子邮件的方式,经过一些搜索,我发现tutorial使用Mandrill进行了如何操作。 因此,我继续尝试API,到目前为止我还没有取得成功。

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
function validateMyForm()
{
    $.ajax({
        type: 'POST',
        url: 'https://mandrillapp.com/api/1.0/messages/send.json',
        data: {
              ‘key’: ‘MY KEY’,
              ‘message’: {
                ‘from_email’: ‘SOMEONE@EMAIL.COM’,
                ‘to’: [
                    {
                        ‘email’: ‘MY@EMAIL.COM’,
                        ‘name’: ‘MYSELF’,
                        ‘type’: ‘to’
                    }
                 ],
               ‘autotext’: ‘true’,
               ‘subject’: ‘Hello World’,
               ‘html’: ‘YOUR EMAIL CONTENT HERE! YOU CAN USE HTML!’
            }
        }
        }).done(function(response) {
            console.log(response); // if you're into that sorta thing
        });
}
</script>
</head>
<body>
 <form method="post" onsubmit="return validateMyForm();">
    Email: <input name="email" type="text" /><br />
    Subject: <input name="subject" type="text" /><br />
    Message:<br />
    <textarea name="comment" rows="15" cols="40"></textarea><br />
    <input id="sendmail" type="submit" value="Submit"/>
  </form>
</body>
</html>

此外,我看到firebug报告了以下错误:

SyntaxError: missing : after property id


‘key’: ‘MY_KEY€™,

当我查看页面时,我看到:

function validateMyForm()
{
    $.ajax({
        type: 'POST',
        url: 'https://mandrillapp.com/api/1.0/messages/send.json',
        data: {
              ‘key’: ‘MY_KEY€™,
              ‘message’: {
                ‘from_email’: ‘MY_EMAIL@EMAIL.COM€™,
                ‘to’: [
                    {
                        ‘email’: ‘SOMEONE'S EMAIL’,
                        ‘name’: ‘MY NAME’,
                        ‘type’: ‘to’
                    }
                 ],
               ‘autotext’: ‘true’,
               ‘subject’: ‘Hello World’,
               ‘html’: ‘YOUR EMAIL CONTENT HERE! YOU CAN USE HTML!’
            }
        }
        }).done(function(response) {
            console.log(response); // if you're into that sorta thing
        });
}

我不知道为什么Firefox正在这样做......所以我在这个问题上提出了两个问题:

  • 为什么Firefox会返回那些奇怪的符号?
  • 如何让validateMyForm()函数向我发送电子邮件?

2 个答案:

答案 0 :(得分:5)

你正在使用时髦的引号:。将它们更改为单引号:'

答案 1 :(得分:1)

  

为什么Firefox会返回那些奇怪的符号?

确保您使用正确的编码来读取文件 - 看起来您使用FireFox无法推断的编码保存文件。

  

如何让validateMyForm()函数向我发送电子邮件?

你正在使用时髦的语录:'。用单引号替换它们:&#39;,例如:

data: {
      'key': 'MY KEY',
      'message': {
...