【www.gdgbn.com--Outlook】

本文介绍了.NET环境下五种不同的邮件发送解决方案,以及这些方案的优缺点。选择何种方案,视程序的用途和需求而定,本文例出的几种方案,供大家参考。

1、使用outLook提供的发送
  如:我见过的用友软件U8生产制造(演示版),其中的邮件功能就是通过调用outLook的ActiveX组件
  优点:开发简单
  缺点:依赖outlook组件,SMTP 邮件服务
  邮件发送的代码如下:
  以下是引用片段:
Private Sub Send()
  Dim outObjAs New Outlook.Application()
    Dim Item As Outlook.MailItemClass
    Item = outObj.CreateItem(0)
    Item.To = "lihonggen0@163.com "
    Item.Subject = "hello"
    Item.Body = "hell"
    Item.Attachments.Add("C:abc.txt")
    Item.Send()
End Sub

  2、WEB开发,在ASP.Net中引用System.Web.Mail类

  System.Web.Mail 命名空间包含使您可以使用 CDOSYS(Windows 2000 的协作数据对象)消息组件来构造和发送消息的类。邮件消息是通过内置在 Microsoft Windows 2000 中的 SMTP 邮件服务或任意的 SMTP 服务器来传送的。此命名空间中的类可以在 ASP.Net 或任何托管应用程序
  MailAttachment提供用于构造电子邮件附件的属性和方法。
  MailMessage提供用于构造电子邮件的属性和方法。
  SmtpMail提供用于使用 Windows 2000 的协作数据对象 (CDOSYS) 消息组件来发送消息的属性和方法。
  邮件可以通过 Microsoft Windows 2000 中内置的 SMTP 邮件服务或任意 SMTP 服务器来传送。System.Web.Mail 命名空间中的类型可以在 ASP.Net 或任何托管应用程序使用。
  Smtp服务器的设置,现在一些免费邮件提供商是不再提供针对所有邮件提供Smtp服务,在发送邮件的时候,需要验证用户信息,考虑Smtp用户验证问题
  如果Smtp服务器在本地计算机,发送速度很快的,基本上不用担心,如果不是本地服务器,那么发送的时候最好不要以此太多,一是速度问题,二是以此发送太多邮件,Smtp服务器可能认为是垃圾邮件而拒绝服务
  代码如下:
  以下是引用片段:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  Dim mailObjAs New MailMessage()
  Dim smtpAs SmtpMail

    ""定义SMTP服务器的名称
    smtp.SmtpServer = "smtp.XXX.com"

    ""定义邮件的发送地址
    mailObj.From = "lihonggen@XXX.com"

    ""定义邮件的接收地址

    mailObj.To = " AAA@XXX.com"
    ""定义邮件的暗送地址

    mailObj.Bcc = "aa@sina.com"

    ""定义邮件的抄送地址
    mailObj.Cc = "aaa@sina.com"

本文来源:http://www.gdgbn.com/bangongshuma/14394/