gpt4 book ai didi

html - 山魈可编辑模板 : mc:edit link href

转载 作者:太空狗 更新时间:2023-10-29 16:00:53 25 4
gpt4 key购买 nike

我正在尝试使用 Mandrill 模板发送订单跟踪电子邮件。

使用 mc:edit 可以很好地处理像 <span mc:edit="ship_id">ship_id</span><br> 这样的简单文本

我想知道是否有办法在变量中传递 href 链接,即 tracking_url

<a class="mcnButton " title="Track order" href=tracking_url target="_blank" style="font-weight: bold;text-align: center;">Track Order</a>

我正在为 Django 使用 Djrill,这是到目前为止发送电子邮件的代码,我想添加 tracking_url 作为 template_content 变量或类似的东西

msg = EmailMessage(subject="Track your order", from_email="admin@example.com", to=[user.email])
msg.template_name = "order-sent"
msg.template_content = {'order_id' : order_id, 'order_date' : order_date, 'order_type' : order_type, 'first_name' : user.first_name, 'last_name' : user.last_name, 'phone' : user.info.phone,
'd_street' : d.street, 'd_zipcode' : d.zipcode, 'd_city' : d.city, 'd_country' : d.country}
msg.send()

似乎可以使用 AddGlobalVariable 方法(阅读 here ),但我不知道如何使用它..

最佳答案

我有一个电子邮件调度程序,它使用 MandripApp 发送普通电子邮件(作为 SMTP)以及使用模板发送电子邮件。

我不知道如何传递您的要求,因为我不再使用 mc:edit 属性(因为我的用户永远不会自己编辑模板,我或开发人员会) 但我可以为您提供有关全局变量的帮助。

全局变量与 Mailchimp 变量相同,例如 *|EMAIL|*,这就是我所做的:

var mergeVars = Dictionary<string, string>();
mergeVars.Add("ORDER_ID", orderId);
mergeVars.Add("CUSTOMER_NAME", fullname);
mergeVars.Add("CUSTOMER_FNAME", fullname.Contains(" ") ? fullname.Split(' ')[0] : fullname);
mergeVars.Add("CUSTOMER_EMAIL", email);

例如孔表:

StringBuilder sb = new StringBuilder();
foreach (ProductInfo pi in products)
{
sb.Append("<tr>");
sb.AppendFormat("<td style=\"text-align:left;\"><img src=\"http://dynassets1.gavekortet.dk/{2}/products/trans/{1}_1.png\" alt=\"{0}\" /></td>", pi.Title, pi.ID, shopId);
sb.AppendFormat("<td style=\"text-align:left;\">{0} x {1}</td>", pi.Qty, pi.Title);
sb.AppendFormat("<td style=\"text-align:right;\">{0:N2}</td>", double.Parse(pi.CardValue));
sb.Append("</tr>");
}

mergeVars.Add("ITEMS_LIST", sb.ToString());

在我的 MandrillApp 模板中,我只有(表格部分):

<table style="width: 100%; padding: 0 30px;">
<thead>
<tr>
<th style="width:75px; text-align:left;">Gavekort</th>
<th style="width:75px; text-align:left;">Ordreoversigt</th>
<th style="width:75px; text-align:right;">Værdi (kr.)</th>
</tr>
</thead>

<tbody>
*|ITEMS_LIST|*
</tbody>
</table>

在你的代码中:

var tmplMessage = new MandrillSendTemplateItem();
tmplMessage.key = password;

tmplMessage.message = new MessageItem();

// Email Destination
tmplMessage.message.to = new List<MessageToItem>();
tmplMessage.message.to.Add(new MessageToItem() { name = destinationName, email = destinationEmail, type = "to" });
tmplMessage.message.to.Add(new MessageToItem() { name = "Bruno Alexandre", email = "my_email@domain.com", type = "bcc" }); // always send me a copy so I know what's going on

// Global Variables
tmplMessage.message.global_merge_vars = new List<TemplateContentItem>();
tmplMessage.message.global_merge_vars.Add(
new TemplateContentItem() {
name = "TASKCOMPLETE",
content = DateTime.UtcNow.ToString("dd MMM yyyy HH:mm") });

// Global Variables passed in properties
if (properties != null)
{
foreach (var p in properties)
{
tmplMessage.message.global_merge_vars.Add(
new TemplateContentItem() { name = p.Key, content = p.Value });
}
}

并发送邮件。

希望它能帮助您完成所需的工作。


注意您只在代码中传递全局变量的名称,但在模板中您需要用|* 包装它来调用它*| 所以:

tmplMessage.message.global_merge_vars.Add(
new TemplateContentItem() {
name = "TASKCOMPLETE",
content = DateTime.UtcNow.ToString("dd MMM yyyy HH:mm") });

将在模板中访问为:

<span class="completed">*|TASKCOMPLETE|*</span>

关于html - 山魈可编辑模板 : mc:edit link href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23998219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com