灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4410回复:0

使用.NET发送E-Mail小程序示例

楼主#
更多 发布于:2011-12-09 04:56
本文主要是以.NET下怎么实现发送E-Mail作为示例分析讲解,故在示例程序里有许多涉及到.Net.Mail之外的内容都没做.最近比较忙没太多的时候去完善其功能,有兴趣的朋友可以下载源码去完善下.这不是一个什么大的软件,也不是什么很特别的东西,我写这个文章的目的是让大家一起来学习.NET下发送E-mail的实现,希望这篇文章可以帮助到还没搞清楚怎么实现发送邮件的朋友,对于已经会的或是这方面的牛人的前辈们看了本文请留下宝贵的建议.
本程序是采用.NET框架下的Mail类来完成邮件的发送操作的,里面收件人mail地址我采用的xml来存储,这涉及到了xml的读写操作,在添加附件的时候涉及到对话框的应用.分析于此,首先我门需要引用相宜的名称空间,即:
1using System.Net.Mail;
2using System.Xml;
3using System.IO;一. 首先来看看最终的运行效果(可以从界面层上理解到程序的结构)

图片:57_3710_91e7851344d04c3.jpg


二. 下面来看看实现发送e-mail功能的代码,代码如下所示:
private void btnSend_Click(object sender, EventArgs e)
    {
      System.Net.Mail.SmtpClient client = new SmtpClient();
      client.Host = this.tbSmtpServer.Text.ToString(); //发送邮件所使用的Smtp事务的主机名称或IP地址
      client.UseDefaultCredentials = false;
      //NetworkCredential(发送者邮件地址,发送者邮箱密码)
      client.Credentials = new System.Net.NetworkCredential(this.tbSender.Text.ToString(),
                                 this.tbSenderPassWord.Text.ToString());
      client.DeliveryMethod = SmtpDeliveryMethod.Network;  //电子邮件通过网络发送到Smtp服务器
  
      //MailMessage(发件人地址,收件人地址)
      MailMessage message = new MailMessage(this.tbSender.Text.ToString(),
                         this.lbQuester.SelectedItem.ToString());
      message.Subject = this.tbTitle.Text.ToString();  //邮件主题
      message.Body = this.tbContext.Text.ToString();   //邮件内容
      message.BodyEncoding = System.Text.Encoding.UTF8; //邮件正文的编码方式
      message.IsBodyHtml = true;
  
      //以下为附件处理过程
      string attahmentName=this.tbAtrrac.Text.Trim().ToString();
      if (!string.Equals(attahmentName, null) ;; !string.Equals(attahmentName, ""))
      {
        Attachment data = new Attachment(attahmentName, System.Net.Mime.MediaTypeNames.Application.Octet);
        message.Attachments.Add(data);
      }
  
      //发送邮件
      try
      {
        client.Send(message);
        MessageBox.Show("E-Mail sucessfully send to:" + this.lbQuester.SelectedItem.ToString());
      }
      catch (Exception ex)
      {
        MessageBox.Show("E-Mail send fail!" + ex.ToString());
      }
    }

喜欢0 评分0
游客

返回顶部