我在一台机器上运行了一段时间的NAnt / NAntContrib构建:
(MS Windows Server 2003标准版32位SP2)
现在我需要在更新的机器上运行相同的构建脚本:
(Windows Server Standard 2008)
我已经安装 NAnt 和 NAnt.Config 并在新机器上工作。
我在原始计算机上使用NAnt.Core.Maillogger
,配置如下:
<property name="MailLogger.mailhost" value="mail.server.com" />
<property name="MailLogger.from" value="autobuild@hostredacted.com" />
<property name="MailLogger.failure.notify" value="true" />
<property name="MailLogger.success.notify" value="true" />
<property name="MailLogger.failure.to" value="team@hostredacted.com" />
<property name="MailLogger.success.to" value="team@hostredacted.com" />
<property name="MailLogger.failure.subject" value="AUTOBUILD: Failure on TEST" />
<property name="MailLogger.success.subject" value="AUTOBUILD: Success on TEST" />
<property name="MailLogger.failure.attachments" value="MailLogger.failure.files" />
<property name="MailLogger.success.attachments" value="MailLogger.success.files" />
<fileset id="MailLogger.failure.files">
<include name="build.log" />
</fileset>
<fileset id="MailLogger.success.files">
<include name="build.log" />
</fileset>
我运行一个非常简单的测试.build文件来测试邮件功能:
<target name="test_mail_pass">
<echo message="Test Success:
run by ${environment::get-user-name()}"/>
</target>
<target name="test_mail_fail">
<echo message="Test Fail:
run by ${environment::get-user-name()}"/>
<fail message="Some Failure occurred." />
</target>
以上在原始机器上工作,并且似乎在新机器上工作,除了没有发送邮件的事实。
控制台中没有消息表明出现了任何问题(忽略<fail>
任务的明显用法。
我甚至不知道从哪里开始弄清楚这里有什么问题,或者如何解决这个问题。
非常感谢任何协助。
答案 0 :(得分:0)
我用很多Google来解决这个问题
其中一件事解决了我的问题,我不知道它是什么,但我的问题现在已经解决了。
我的批处理文件需要具有以下命令行选项:
-logger:NAnt.Core.MailLogger
在
中引用的文件<fileset id="MailLogger.failure.files">
<include name="build.log" />
</fileset>
<fileset id="MailLogger.success.files">
<include name="build.log" />
</fileset>
需要真正存在。
我读过的一篇文章(丢失链接)告诉我一个问题,如果要附加的文件不存在,邮件将不会被发送。