繁体   English   中英

从额外的javascript更改变量的山d电子邮件

[英]Mandrill Email with Variable from extra javascript

我们正尝试在下面与MANDRILL一起发送的电子邮件中包含模式主体。 我们如何将modal-body变量添加到电子邮件中,类似于名称,电子邮件和消息。 (我们正在使用FullCalendar)非常感谢!

],
     eventClick: function(event) {
  console.log(event)
    // alert(event.start.format('MMMM Do YYYY'))
  var start = event.start.format('MMMM Do YYYY'),
    end = event.end.format('MMMM Do YYYY'),
    html = '<p>Starts: ' + start + '<p>';
  html += '<p>Ends: ' + end + '<p>';
  var modal = $("#modal");
  modal.find(".modal-title").html(event.title);
  modal.find('.modal-body').html(html)
  modal.modal();
    }
});
});
});//]]> 
jQuery(function($)  
{
$("#contact_form").submit(function()
{
var content = $("modal").text();
    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',
            'message': {
                'from_email': "email@email.com",
                'from_name': "name",
                'headers': {
                    'Reply-To': "email@emailcom"
                },
                'subject': 'Confirmation -  Sign Up',
                'text':   modal, 
                'to': [
                {
                    'email': email,
                    'name': name,
                    'type': 'to'
                }]

            }
        }
    })
    .done(function(response) {
        alert('You have been signed up. 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
       var content = $("modal").text();
            document.writeln(content);
    })
    .fail(function(response) {
        alert('Error sending message.');
    });

您是否要直接从javascript发送api请求? 如果是这样,您会将Mandrill的API密钥公开给最终用户,这根本不好。

这不是IMO的正确方法。 将带有用户数据的请求发送到后端,然后可以从后端发送mandrill API请求。

通过教程,它说明了如何使用Mandrill发送动态模板。

您可以使用把手添加动态内容。 另一种方法是在HTML标记中使用mc:edit属性用动态内容替换标记内容。

首先,您需要在Mandrill帐户上上传电子邮件模板。 使用mc:edit属性添加标签,如下所示:

<span mc:edit="email">example@gmail.com</span>

并且在您的电子邮件通话中包括以下内容:

 "template_content": [
        {
            "name": "email", //attribute value that you pass in your email template.
            "content": "something@anything.com" //pass your dynamic email value here
        }
    ],

是示例api调用。

对于您的情况:

 .....
        $.ajax(
            {
                type: "POST",
                url: "https://mandrillapp.com/api/1.0/messages/send.json",
                data: {
                    'key': 'API',
                     "template_content": [
                    {
                        "name": "email", //attribute value that you pass in your email template.
                        "content": "something@anything.com" //pass your dynamic email value here
                    },
                  ..... //You can pass multiple object similarly here 
                ],
                    'message': {
                        'from_email': "email@email.com",
                        'from_name': "name",
                        'headers': {
                            'Reply-To': "email@emailcom"
                        },
                        'subject': 'Confirmation -  Sign Up',
                        'text':   modal, 
                        'to': [
                        {
                            'email': email,
                            'name': name,
                            'type': 'to'
                        }]

                    }
                }
            })
    .....

希望能帮助到你..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM