C# 使用 Mandrill 模板发送电子邮件 'foreach loop'

C# Send email using Mandrill template 'foreach loop'

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

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

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

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

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

foreach (var each in itemList){}

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

这就是您使用模板发送电子邮件的 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}}