如何使用 mandrill 通过电子邮件发送表单信息

Posted

技术标签:

【中文标题】如何使用 mandrill 通过电子邮件发送表单信息【英文标题】:how to email form information using mandrill 【发布时间】:2014-11-27 02:42:32 【问题描述】:

我创建了一个网站,其中包含一个包含多个字段的表单,我正在尝试获取按钮以实际通过电子邮件将输入的信息发送给我。我一直在尝试在 code academy 上了解 Mandrill API,但我可能对完成相同任务的其他方法持开放态度。这是我目前所拥有的:

<div id="contactUs">
    <div class="container">

    <div class="row form-group">

        <div class="col-sm-6">
            <input class="form-control" id="email" placeholder="Your Email Address">
        </div><!-- end col-sm-6 -->

        <div class="col-sm-6">
            <input class="form-control" id="organization" placeholder="Organization or Company Name">
        </div><!-- end col-sm-6 -->

    </div><!-- end form-group -->

    <div class="row form-group">

        <div class="col-sm-6">
            <input class="form-control" id="name" placeholder="Your Name">
        </div><!-- end col-sm-6 -->

        <div class="col-sm-6">
            <input class="form-control" id="phone" placeholder="Phone Number">
        </div><!-- end col-sm-6 -->

    </div><!-- end form-group -->

    <div class="row form-group">

        <div class="col-sm-12">
            <button onclick="sendTheMail(); return false;" class="btn btn-default pull-right" id="alertMe">Contact Us</button>
        </div><!-- end col-sm-6 -->

    </div><!-- end form-group -->
</div><!-- end container -->
</div><!-- end contactUs -->

还有 JS..

// create a variable for the API call parameters
var params = 
    "message": 
        "from_email":"staticallyanyone@anywhere.net",
        "to":["email":"myemail@hotmail.com"],
        "subject": "An Inquiry from your website",
        "text": "Static text.. but how do i link the information entered in the fields to show up here?"
    
;

function sendTheMail() 
// Send the email!

    m.messages.send(params);

必须有一种方法可以将字段中的信息链接到 JS 中?.. 我还是个菜鸟.. 任何提高 js 的技巧.. 请告诉我。

【问题讨论】:

【参考方案1】:

您可以通过元素的 id 获取元素并从元素中获取值。下面的代码应该可以工作。我相信 Mandrill 允许 html 消息,因此如果您愿意,可以在 emailBody 变量中修饰 html 以制作更具吸引力的电子邮件。

function sendTheMail() 
var email = document.getElementById('email').value;
var name = document.getElementById('name').value;
var phone = document.getElementById('phone').value;
var organization = document.getElementById('organization').value;
var emailBody = "<b>Email: </b>" + email + "<br><b>Name: </b>" + name + "<br><b>Phone: </b>" + phone + "<br><b>Organization: </b>" + organization;
var params = 
"message": 
    "from_email":"staticallyanyone@anywhere.net",
    "to":["email":"myemail@hotmail.com"],
    "subject": "An Inquiry from your website",
    "text": emailBody
    
;
m.messages.send(params);

【讨论】:

今晚晚些时候我有空的时候一定要试试这个。但如果这可行的话,非常感谢! 我通过更改使您的 html 工作:"te​​xt": emailBody --> "html": emailBody ...再次感谢!

以上是关于如何使用 mandrill 通过电子邮件发送表单信息的主要内容,如果未能解决你的问题,请参考以下文章

通过电子邮件发送 HTML 表单

您将如何使用 phantomjs 通过 mandrill 发送邮件?

电子邮件中的 Mandrill App 内联 html 表单

无法使用 Parse Cloud Code 和 Mandrill 发送电子邮件

如何在没有邮件接收客户端的情况下验证 Mandrill 自定义发送域?

在 Mandrill 中使用模板发送电子邮件