如何使用MSbuild发送多个电子邮件地址

如何使用MSbuild发送多个电子邮件地址,msbuild,msbuildcommunitytasks,Msbuild,Msbuildcommunitytasks,我的构建脚本中有一个目标,它将发送一封电子邮件,其中包含一个附件,详细说明模块的svn更改 如果我硬编码一个电子邮件地址,这是可行的,但是我现在想给多个开发人员发电子邮件,脚本失败了。下面是代码 <Target Name="MailInformationUpdate" DependsOnTargets="ZipArtifact" Condition="!Exists('BUILD_IS_PERSONAL')"> <ReadLinesFromFile File="$(

我的构建脚本中有一个目标,它将发送一封电子邮件,其中包含一个附件,详细说明模块的svn更改

如果我硬编码一个电子邮件地址,这是可行的,但是我现在想给多个开发人员发电子邮件,脚本失败了。下面是代码

 <Target Name="MailInformationUpdate" DependsOnTargets="ZipArtifact" Condition="!Exists('BUILD_IS_PERSONAL')">

    <ReadLinesFromFile File="$(BuildDir)\$(recipientListFileName)">
      <Output PropertyName="Recipients"  TaskParameter="Lines"/>
    </ReadLinesFromFile>
    <Mail SmtpServer="$(smptServer)"
           To="@(Recipients)"
           From="$(senderEmail)"
           Body="Attached is a list of the changes made since the last release. "
       Subject="This module has been updated. You may wish to update." Attachments="$(BuildDir)\Builds\$(svnChangeFileName)"   
          />    
  </Target>

如果我将“收件人”行改为“$”(Recipients),列表中的第一个人将收到电子邮件,后续地址不会收到电子邮件

然后,我将“收件人”行改为您在下面看到的@(收件人),因为我认为它可能会在每个收件人周围循环。没有这样的运气!!!我收到了错误信息

Emailing "{0}".
    <path> error : A recipient must be specified.
通过电子邮件发送“{0}”。
错误:必须指定收件人。

我读入的文件只是一个格式为(emailAddress1)、(emailAddress2)等的文本文件。任务ReadLinesFromFile从文本文件读取项目列表。但文件每行必须有一项

您的文本文件格式为(EmailAddress1),emailAddress2)。。。您将只有一个项目包含(EmailAddress1)、emailAddress2)。。。。 您的email.txt应如下所示:

emailAdress1
emailAdress2
...
您从ReadLinesFromFile任务中获取项目,而不是从属性中获取项目,因此请按如下方式修改任务:

<Target Name="MailInformationUpdate" DependsOnTargets="ZipArtifact" Condition="!Exists('BUILD_IS_PERSONAL')">

  <ReadLinesFromFile File="$(BuildDir)\$(recipientListFileName)">
    <Output ItemName="Recipients"  TaskParameter="Lines"/>
  </ReadLinesFromFile>
  <Mail SmtpServer="$(smptServer)"
       To="@(Recipients)"
       From="$(senderEmail)"
       Body="Attached is a list of the changes made since the last release. "
       Subject="This module has been updated. You may wish to update."
       Attachments="$(BuildDir)\Builds\$(svnChangeFileName)"   
      />    
</Target>

(邮件目标的日志中存在错误,即使有多个收件人,日志中也只会显示第一个收件人。)