2011-10-11 67 views
1

在我的Windows任務計劃程序中,我安排了一項任務以每天運行一個C#控制檯應用程序可執行文件。此應用程序將一些數據發送到數據庫,然後發送一封電子郵件。Windows任務計劃程序正在運行應用程序,但無法發送電子郵件

當我正常運行時,它可以正常工作,但是當它通過任務調度程序運行時,它會將數據發送到數據庫,但無法發送電子郵件。

有關如何解決此問題的任何想法?

編輯:

是的,我可以通過正確的控制檯應用程序發送。它使用默認網絡憑據..但是,當我查看事件日誌時,我記錄了以下.NET運行時異常:

Framework版本:v4.0.30319
說明:由於未處理的異常而終止進程。
異常信息信息:System.IO.IOException
堆棧:
在iTextSharp.text.pdf.PdfPages.WritePageTree()
在iTextSharp.text.pdf.PdfWriter.Close()
在iTextSharp.text.pdf .PdfDocument.Close()
在iTextSharp.text.Document.Close()
在ReadReutersRates.Program.SavePDF(的System.DateTime)
在ReadReutersRates.Program.Main(System.String [])


我認爲這與pdf文件有關我將附加到電子郵件中。但是當我手動運行它時,這很奇怪。

+0

您使用什麼組件發送這些電子郵件?您的SMTP服務器可以從您的winservice訪問? –

+0

我使用system.net.mail和是我的smtp服務器是可訪問的。 –

+0

任何電子郵件在badmail文件夾?你能通過控制檯應用程序正確發送嗎?你如何在smtp服務器上進行身份驗證? –

回答

0

這是一個權限錯誤,您正在運行的任務通過控制檯上運行會比運行任務的用戶更多的權限時的用戶。

看來您正在使用的PDF應用程序試圖寫入臨時文件或類似文件,並且它沒有權限。 (我假設電子郵件有一個PDF附件或類似的,正在生成的動態)

如果你讓你的任務作爲一個管理員應該工作,然後運行它作爲一個更受限制的用戶和工作取出哪些權限適用於將其鎖定在哪裏。

相關問題