zoukankan      html  css  js  c++  java
  • 使用OpenSMTP.NET在线发送邮件

    决定写写博客了,毕竟有太久时间没更新这东西,最近太忙,忙着怎么玩的开心,玩的潇洒,直到最近几天才恢复正常,写了几天的程序,又有心得了,写上来。

    想在自己的主页上做一个在线发送邮件的东东,具体有MS自带的System.Web.Mail和一个使用比较广泛的Jmail。听说MS自带的不太好用,我就试着捣鼓了一下Jmail,后来也没搞定,算了,有点麻烦,另外找吧。一阵忙乎,发现了OpenSMTP.NET这个开源的组件,http://sourceforge.net/projects/opensmtp-net/,用C#开发的,相关的还有OpenPOP.NET。就用它吧,按照下面的代码,我成功了。之间有个小麻烦,我最先用的smtpHost是smtp.163.com,但是这样的话,发送者在页面上填的自己的email必须是163.com的,不然就会发送失败,又试了21cn的,也是这样,最后找到sohu的,就可以了。

    private void btnSend_Click(object sender, EventArgs e) {
        
    try {
            
    // SMTP服务器
            string     smtpHost             = "smtp.sohu.com";
            
    // SMTP服务器端口
            int     smtpPort             = 25;
            
    // 发送者邮件地址
            string     senderEmail         = txtEmail.Text;
            
    // 发送者名字    
            string senderName           = txtName.Text;
            
    // 接收者邮件地址
            string     recipientEmail        = "chengbo1983@gmail.com";
            
    // 主题
            string     subject             = txtSubject.Text;
            
    // 邮件内容
            string     body                 = txtMessage.Text;

            SmtpConfig.VerifyAddresses 
    = false;
            EmailAddress from 
    = new EmailAddress(senderEmail, senderName);
            EmailAddress to 
    = new EmailAddress(recipientEmail);
            MailMessage msg 
    = new MailMessage(from, to);
            
    // 这行一定要填上,不然收到的中文邮件是一连串的???????
            msg.Charset = "gb2312";
            msg.Subject 
    = subject;
            msg.Body 
    = body;

            Smtp smtp 
    = new Smtp(smtpHost, smtpPort);
            
    // 在SMTP服务器上的用户名和密码
            smtp.Username = "chengbo1983";
            smtp.Password 
    = "******";
            smtp.SendMail(msg);


            StringBuilder toList 
    = new StringBuilder();
            
    for (IEnumerator i = msg.To.GetEnumerator(); i.MoveNext();) {
                EmailAddress a 
    = (EmailAddress)i.Current;
                toList.Append(a.Address 
    + ";");
            }


        }

        
    catch(MalformedAddressException mfa) {
            
    //异常处理
        }

        
    catch(SmtpException se) {
            
    //异常处理
        }

        
    catch(Exception ex) {
            
    //异常处理
        }

    }
    希望这篇文章能对大家有点帮助,演示http://chengbo.net/Contact.aspx
  • 相关阅读:
    python之接口与抽象类
    python之内置函数与匿名函数
    python之常用模块
    python之块包导入
    python之协程函数、递归、二分法
    Ios证书申请流程
    VUE + vue-cli + webpack 创建新项目(2)
    VUE + vue-cli + webpack 创建新项目
    布局的几种方式(静态布局、自适应布局、流式布局、响应式布局、弹性布局)
    浅谈rem布局和vm布局
  • 原文地址:https://www.cnblogs.com/chengbo/p/258348.html
Copyright © 2011-2022 走看看