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