bpi*_*pat 5 html django hyperlink mailchimp mandrill
我正在尝试使用Mandrill模板发送订单跟踪电子邮件.
使用mc:edit适用于简单的文本 <span mc:edit="ship_id">ship_id</span><br>
我想知道是否有办法在变量即tracking_url中传递href链接
<a class="mcnButton " title="Track order" href=tracking_url target="_blank" style="font-weight: bold;text-align: center;">Track Order</a>
我正在使用Djrill for Django,这是迄今为止发送电子邮件的代码,我想将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()
Run Code Online (Sandbox Code Playgroud)
似乎可以使用AddGlobalVariable方法(在这里阅读),但我无法弄清楚如何使用它.
我有一个电子邮件调度程序,它使用 MandripApp 发送普通电子邮件(作为 SMTP)以及使用模板发送电子邮件。
\n\n我不知道如何传递您所要求的内容,因为我不再使用mc:edit属性(因为我的用户永远不会自己编辑模板,我或开发人员会),但我可以为您提供有关全局变量的帮助。
全局变量与 Mailchimp 变量相同,就像*|EMAIL|*这就是我所做的:
var mergeVars = Dictionary<string, string>();\nmergeVars.Add("ORDER_ID", orderId);\nmergeVars.Add("CUSTOMER_NAME", fullname);\nmergeVars.Add("CUSTOMER_FNAME", fullname.Contains(" ") ? fullname.Split(\' \')[0] : fullname);\nmergeVars.Add("CUSTOMER_EMAIL", email);\nRun Code Online (Sandbox Code Playgroud)\n\n例如,孔表:
\n\nStringBuilder sb = new StringBuilder();\nforeach (ProductInfo pi in products)\n{\n sb.Append("<tr>");\n 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);\n sb.AppendFormat("<td style=\\"text-align:left;\\">{0} x {1}</td>", pi.Qty, pi.Title);\n sb.AppendFormat("<td style=\\"text-align:right;\\">{0:N2}</td>", double.Parse(pi.CardValue));\n sb.Append("</tr>");\n}\n\nmergeVars.Add("ITEMS_LIST", sb.ToString());\nRun Code Online (Sandbox Code Playgroud)\n\n在 MandrillApp 的模板中,我只是有(对于表格部分):
\n\n<table style="width: 100%; padding: 0 30px;">\n <thead>\n <tr>\n <th style="width:75px; text-align:left;">Gavekort</th>\n <th style="width:75px; text-align:left;">Ordreoversigt</th>\n <th style="width:75px; text-align:right;">V\xc3\xa6rdi (kr.)</th>\n </tr>\n </thead>\n\n <tbody>\n *|ITEMS_LIST|*\n </tbody>\n</table>\nRun Code Online (Sandbox Code Playgroud)\n\n并在代码中执行以下操作:
\n\nvar tmplMessage = new MandrillSendTemplateItem();\ntmplMessage.key = password;\n\ntmplMessage.message = new MessageItem();\n\n// Email Destination\ntmplMessage.message.to = new List<MessageToItem>();\ntmplMessage.message.to.Add(new MessageToItem() { name = destinationName, email = destinationEmail, type = "to" });\ntmplMessage.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\n\n// Global Variables\ntmplMessage.message.global_merge_vars = new List<TemplateContentItem>();\ntmplMessage.message.global_merge_vars.Add(\n new TemplateContentItem() { \n name = "TASKCOMPLETE", \n content = DateTime.UtcNow.ToString("dd MMM yyyy HH:mm") });\n\n// Global Variables passed in properties\nif (properties != null)\n{\n foreach (var p in properties)\n {\n tmplMessage.message.global_merge_vars.Add(\n new TemplateContentItem() { name = p.Key, content = p.Value });\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n并发送电子邮件。
\n\n我希望它可以帮助您做您需要做的事情。
\n\n请注意,您只在代码中传递全局变量的名称,但在模板中您需要调用它来包装它,|*因此*|:
tmplMessage.message.global_merge_vars.Add(\n new TemplateContentItem() { \n name = "TASKCOMPLETE", \n content = DateTime.UtcNow.ToString("dd MMM yyyy HH:mm") });\nRun Code Online (Sandbox Code Playgroud)\n\n可以在模板中访问为:
\n\n<span class="completed">*|TASKCOMPLETE|*</span>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3465 次 |
| 最近记录: |