2010-10-30 37 views
0

那麼,對於我的程序,我想讓用戶發送給我一封包含任何錯誤的電子郵件。我決定讓用戶使用自己的電子郵件客戶端向指定的地址發送電子郵件,而不是依賴於被忽略的SMTP服務器。如何使用Windows郵件協議? (C#?)

所以我需要的是:
發送方(不應該更改)(例如:[email protected]
附加文件(不應該更改)(例如:「C:\的文件。日誌「)
(可選)身體(多變)

我希望這是可能的!

回答

1

那麼,我找到了完美的解決方案!
對於那些誰希望看到它...
http://social.msdn.microsoft.com/Forums/en/netfxnetcom/thread/a75533eb-131b-4ff3-a3b2-b6df87c25cc8
http://www.eggheadcafe.com/community/aspnet/2/10019665/email-through-gmail-in-c.aspx

+0

我以爲你不想依靠SMTP服務器? – 2010-10-31 12:16:39

+0

好吧,我找到了一個可以使用的免費SMTP服務器。在這個問題上,我的意思是我不想擁有自己的。 – Vercas 2010-10-31 12:53:11

+0

我還對登錄數據,服務器和端口進行了加密,因此黑客們可以在記事本等程序中查看我的應用程序以提取數據。 – Vercas 2010-11-04 14:08:02

1

您可以使用mailto命令。有關更多信息,請參閱http://msdn.microsoft.com/en-us/library/aa767737(VS.85).aspx。一些郵件客戶端支持附件。有關此信息,請參閱MSDN頁面的註釋。

+0

附件特別是我所需要的,據我所知,只有Microsoft Office Outlook 2003支持附件。編輯:WinRar可以發送附件... – Vercas 2010-10-30 20:55:44

1

mailto協議有限制,如無法指定附件(某些郵件客戶端支持它,但它不在官方協議中)。您最好的選擇可能是使用MAPISendMail函數讓MAPI完成工作。看到這篇文章的詳細信息:

Sending files via the default e-mail client

我在過去使用這種技術,它似乎很好地工作。

+0

忘記舊評論,我找到了更好的方法。 – Vercas 2010-10-31 12:11:59

1

直接從您的應用程序使用mailto會導致潛在的問題。如果您已經爲收到的電子郵件指定了郵件帳戶,那麼您可以確定,某人會以某種方式使用它來向您發送垃圾郵件或成千上萬不需要的電子郵件。在我們公司,我們多次努力解決這個問題 - 最後,我們決定讓客戶以任何其他方式報告問題 - 網頁形式。 現在,當客戶點擊「報告問題」時,此選項將顯示一個用於報告缺省Web瀏覽器中的錯誤的表單。打開的鏈接包含一些額外的信息,導致客戶打開的表單部分填寫。現在,我們在報告問題(ip)的服務器端有一箇中間層和絕對控制,我們可以限制指定用戶的報告。這些解決方案的下一個優點是,您可以根據標記/填寫的表單字段將郵件轉發到不同的部門。

+0

糟糕...我沒有考慮垃圾郵件......我首先想到使用Web請求以編程方式提交數據,並將其寫入我的服務器中的text/xml文件。但我的問題是空格和換行符... – Vercas 2010-10-31 10:35:10