首先,我已经看过这篇文章:没有邮件问题,但唯一的答案并不令人满意(即:对我不起作用).
我正在使用NAnt获取最新版本的源代码,升级版本的库和应用程序,构建应用程序,构建设置......所有常见的事情,我敢打赌.我希望NAnt向某些人发送电子邮件,确认构建过程的结论; 我已经检查了该任务的官方(相当丑陋的,恕我直言)文档,但该示例一旦被复制和定制,就不起作用.
这是我正在使用的NAnt目标和任务:
<target name="sendMail" >
<mail
from="MyUserName@gmail.com"
tolist="user1@provider1.com;user2@provider1.com"
subject="Subject of email"
mailhost="smtp.gmail.com"
message="Your new release is ready!">
</mail>
</target>
Run Code Online (Sandbox Code Playgroud)
我得到的错误信息是:
530 5.7.0必须首先发出STARTTLS命令.
看起来该任务是为供应商不需要身份验证的帐户设计的; 但如果我必须使用需要身份验证的外部smtp服务器(告诉我的老板我内部需要一个smtp服务器不是一个选项),我该怎么办?
有人可以帮助/教我吗?
提前致谢...
查看当前在nant-trunk中的代码,nant任务不具有身份验证功能.根据这篇知识库文章,即使使用当前正在使用的System.Web.Mail类也可以完成,但是nant任务不会公开必要的属性.所以为了回答你的问题,我认为你有以下选择:
通过知识库文章中描述的技术添加对当前nant任务的身份验证支持(确保在消息字段中添加"http://schemas.microsoft.com/cdo/configuration/smtpusessl","true"),重新编译它并通过loadtasks -task 使用它
通过Smtp客户端类创建自己的电子邮件任务(因为System.Web.Mail可能因某种原因而被弃用)并通过loadtasks-task使用它.
更新: 我刚刚更改了邮件任务的实现,并在sourceforge向NAnt人员提交了补丁.如果您有兴趣,可以在那里下载文件,这样您就不必自己实现了.
| 归档时间: |
|
| 查看次数: |
2273 次 |
| 最近记录: |