【问题标题】:C# Send email using Mandrill template 'foreach loop'C# 使用 Mandrill 模板“foreach 循环”发送电子邮件
【发布时间】:2016-08-13 08:26:51
【问题描述】:

我正在使用 mandrill 模板在我的 Web 应用程序中发送电子邮件。我的项目列表有一个“foreach 循环”,我想在其中自动生成项目数量的模板。

如何在我的模板和 c# 中为我的后端代码添加 foreach 逻辑?

假设我有两个列表,我想在每个循环中包含所有项目列表。

var itemList = new List<string>();
var itemList1 = new List<int>();

如何为这种情况创建一个循环?

foreach (var each in itemList){}

【问题讨论】:

  • 创建通用接口

标签: c# templates mandrill


【解决方案1】:

您可以使用元组而不是分别使用两个列表。

这就是您使用模板发送电子邮件的 C# 逻辑 //C#

var itemContainerTuple = new List<Tuple<string, int?>>();
var mandrill = new MandrillApi(ConfigurationManager.AppSettings["MandrillApiKey"]);
var emailMessage = new EmailMessage
 {
    FromEmail = "youremail",
    To = new List<EmailAddress> { new EmailAddress { Email = "senderEmail" } },
    Subject = "your subject",
    FromName = "Yourname",
    MergeLanguage = "handlebars",
    Merge = true,
 };

    emailMessage .AddGlobalVariable("ItemContainer", itemContainerTuple);
    await mandrill.SendMessageTemplate(new SendMessageTemplateRequest(emailMessage , "YourTemplateName"));

在你的 Mandrill 模板中你可以这样尝试 -

//Template
// for each row from tuple string would be red and int would be black. 

{{#each ItemContainer}}   
  <li>
   <span style="color:red"><strong>{{Item1}}</strong></span>         
  </li>

  <li>
   <span style="color:black"><strong>{{Item2}}</strong></span>         
  </li>
{{/each}}

【讨论】:

    猜你喜欢
    • 2013-06-22
    • 2015-08-30
    • 2013-11-26
    • 2015-05-09
    • 2013-07-31
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多