2009-07-03 73 views
3

首先,我已经看到这个帖子:nant mail issues但唯一的答案并不令人满意(即:对我不起作用)。如何让NAnt使用真实账户发送电子邮件

我使用NAnt来获取最新版本的源代码,升级版本的库和应用程序,构建应用程序,构建设置......所有常见的事情,我敢打赌。我希望NAnt发送电子邮件给一些人,确认构建过程的结论;我已经检查过官方(非常丑陋,恕我直言)documentation for the task,但是这个例子一旦被复制和定制,就不起作用。

这是恶性的目标和任务,我使用:

<target name="sendMail" > 
    <mail 
     from="[email protected]" 
     tolist="[email protected];[email protected]" 
     subject="Subject of email" 
     mailhost="smtp.gmail.com" 
     message="Your new release is ready!"> 
    </mail> 
</target> 

该错误消息我得到的是:

530 5.7.0必须首先发出STARTTLS 命令。

看起来这个任务是设计用于供应商不需要认证的帐户;但如果我必须使用需要身份验证的外部smtp服务器(告诉我的老板我需要一个内置的smtp服务器不是一种选择),我该怎么办?

任何人都可以帮助/教我吗?

在此先感谢...

回答

0

这将是一个巨大的增值到NantContrib项目。如果你能重建并提交,我相信很多人都会受益。

9

查看code currently in the nant-trunk,该nant任务不具有身份验证功能。 根据这knowledge base article,它甚至可以使用nant当前正在使用的System.Web.Mail类来完成,但是nant任务不公开必要的属性。 因此,要回答你的问题,我觉得你有以下选择:

  • 通过知识库文章中描述的技术进行身份验证的支持添加到当前的恶性任务(一定要加 的“http:/ /schemas.microsoft.com/cdo/configuration/smtpusessl”,‘真’ 的消息字段),重新编译,并通过loadtasks -task

  • 使用它通过Smtp client class创建您自己的电子邮件任务(因为System.Web.Mail可能因为某个原因而被弃用),并通过loadtasks任务使用它。

更新: 我只是改变了邮件任务和submitted a patch to the NAnt guys at sourceforge的实施。如果你有兴趣,你可以在那里下载文件,所以你不必自己实现它。

相关问题