如何在Mandrill脚本中用静态文本替换动态变量

时间:2015-11-10 23:34:17

标签: php mandrill

我想在填写并提交表单后向用户发送电子邮件,我使用POST方法捕获数据,现在我想用表单中捕获的变量替换静态文本。我从表单中提供了一些可变数据样本。

image.getRGB(i, j) == Color.BLACK.getRGB()

3 个答案:

答案 0 :(得分:1)

也许是这样的:

$postString = '{
"key": "xxxxxxxxxxxxx",
"message": {
    "html": "'.$yourHTML.'",
    "text": "'.$yourTEXT.'",
    "subject": "this is the subject",
    "from_email": "me@gmail.com",
    "from_name": "John",
    "to": [
        {
            "email": "me@yahoo.com",
            "name": "Bob"
        }
    ],
    ...

但是您没有指定要放置动态数据的位置。

但是对于您的情况,最好创建一个PHP数组,然后使用json_encode对其进行转换。

答案 1 :(得分:1)

只需用变量替换静态数据:

$postString = '{
"key": "xxxxxxxxxxxxx",
"message": {
"html": "",
"text": "$message",
"subject": "this is the subject",
"from_email": "me@gmail.com",
"from_name": "John",
"to": [
    {
        "email": "$email",
        "name": "$name"
    }
],

答案 2 :(得分:0)

通过API提供合并数据

...
    "message": {
            "global_merge_vars": [
                {
                    "name": "var1",
                    "content": "Global Value 1"
                }
            ],
            "merge_vars": [
                {
                    "rcpt": "emailadress@domain.com",
                    "vars": [
                        {
                            "name": "fname",
                            "content": "John"
                        },
                        {
                            "name": "lname",
                            "content": "Smith"
                        }
                    ]
                }
            ],
    ...

<强>格式

合并标记使用以下格式,合并标记名称的每一侧都有管道(|)和星号(*):

| MERGETAG |

在您的模板或内容中,合并代码可能如下所示:

Dear *|FNAME|*,

Thanks for your purchase on *|ORDERDATE|* from ABC Widget Company. We appreciate your business and have included a copy of your invoice below.

*|INVOICEDETAILS|*

-- ABC Widget Co.

前面的示例中包含三个合并标记。在发送时,为每个合并标记提供全局值和/或特定于收件人的数据。

参考:

https://mandrill.zendesk.com/hc/en-us/articles/205582487-How-to-Use-Merge-Tags-to-Add-Dynamic-Content