Mandrill:无法通过表单发送邮件

时间:2014-09-26 20:45:04

标签: jquery ajax html5 forms mandrill

我有一个HTML联系表单,我正在尝试使用Mandrill API发送电子邮件。如果我用电子邮件填写表单的电子邮件部分,表单只会向我发送电子邮件。但是,如果我输入类似“example@gmail.com”的内容,它将不会发送到我的Gmail帐户。

我做错了什么???一直困在这一天。

这是我的html表单:          

<!-- Form Name -->

<!-- Text input-->
<div class="form-group">
  <label class="col-md-4 control-label" for="name">Name</label>  
  <div class="col-md-5">
  <input id="name" name="name" type="text" placeholder="Enter your full name here" class="form-control input-md" required="">

  </div>
</div>

<!-- Text input-->
<div class="form-group">
  <label class="col-md-4 control-label" for="email">Email</label>  
  <div class="col-md-5">
  <input id="email" name="email" type="text" placeholder="Enter your email address here" class="form-control input-md" required="">

  </div>
</div>

<!-- Textarea -->
<div class="form-group">
  <label class="col-md-4 control-label" for="msg">Message</label>
  <div class="col-md-4">                     
    <textarea class="form-control" id="msg" name="msg" cols="6" rows="6"></textarea>
  </div>
</div>

<!-- Button -->
<div class="form-group">
  <label class="col-md-4 control-label" for="submit"></label>
  <div class="col-md-4">
    <button id="submit" name="submit" class="btn btn-primary" formmethod="POST">Send Message</button>
  </div>
</div>

</fieldset>
</form>

这是我的contact.js

jQuery(function($)  
{
    $("#contact_form").submit(function()
    {
        var email = $("#email").val(); // get email field value
        var name = $("#name").val(); // get name field value
        var msg = $("#msg").val(); // get message field value
        $.ajax(
        {
            type: "POST",
            url: "https://mandrillapp.com/api/1.0/messages/send.json",
            data: {
                'key': 'API Key',
                'message': {
                    'from_email': email,
                    'from_name': name,

                    'subject': 'Website Contact Form',
                    'text': msg,
                    'to': [
                    {
                        'email': 'myaddress@gmail.com',
                        'name': 'Taimur K Naziri',
                        'type': 'to'
                    }]
                }
            }
        })
        .done(function(response) {
            alert('Your message has been sent. Thank you!'); // show success message
            $("#name").val(''); // reset field after successful submission
            $("#email").val(''); // reset field after successful submission
            $("#msg").val(''); // reset field after successful submission
        })
        .fail(function(response) {
            alert('Error sending message.');
        });
        return false; // prevent page refresh
    });
});

2 个答案:

答案 0 :(得分:0)

看起来这可能是Mandrill的限制。 您应该使用reply-to标头而不是更改from地址。

答案 1 :(得分:0)

它工作正常,但是在使用@ yahoo.com电子邮件地址提交的表单时它不起作用。然而,还没弄明白为什么。