从.NET应用程序发送电子邮件的最佳方式?

Mat*_*son 7 .net vb.net email

我正在开发一个Windows Forms(.NET 3.5)应用程序,它有一个内置的异常处理程序来捕获可能出现的任何(天堂禁止)异常.我希望异常处理程序能够提示用户单击一个Send Error Report按钮,这会导致应用程序向我的FogBugz电子邮件地址发送电子邮件.

什么是最好的方法,有什么"陷阱"需要注意?

Dr8*_*r8k 6

您不必担心客户端凭据,只需使用Esteban建议的SmtpClient.您将需要用户在配置时提供有效的Smtp服务器URL,但大多数ISP允许匿名smtp,只要用户在其网络(即其客户端)中放入url,那么大多数ISP都会人们不会有任何问题.

注意:.config文件的预定义部分用于存储SmtpClient对象的配置选项.如果您将设置放在那里,则在发送电子邮件时不必在代码中明确设置任何内容.该部分的一个例子如下:

<system.net>
   <mailSettings>
      <smtp deliveryMethod="Network" from="stuff@somewhere.com.au">
         <network host="smtp.somewhere.com.au" />
      </smtp>
   </mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)

用户名和密码是可选的.Intellisense适用于配置文件的这些部分.

编辑:对我的代码示例稍作修改.


Est*_*aya 3

您将需要使用此处概述的 SmtpClient 类。
没有任何陷阱 - 发送电子邮件非常简单。

  • 如果您需要使用 smtp 向 1000 个用户发送邮件,其可扩展性如何?您是否需要编写额外的代码来减慢速度,以免 smtp 服务器被淹没? (3认同)