2009-07-03 76 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的實施。如果你有興趣,你可以在那裏下載文件,所以你不必自己實現它。

相關問題