zoukankan      html  css  js  c++  java
  • 关于C#发送邮件的一点体会

        曾经以为,在.Net组件这么完备的情况下,做一个发送邮件的功能,应该不是什么难事 .可上周真的开始做了以后,竟差点几乎丧失信心,因为"与服务器的连接传输失败"这个错误我看见太多次了,以至于不敢相信会有成功的时候,晕!这个功能我大概弄了一周的时间,从周1开始,一直到周5,开始以为是代码错误,换了N种发法还是不行,可明明网上写的就是很简单嘛,直到周5,突然意识到,会不会是连接smtp服务器的帐号密码错误啊,结果用Outlook一试果然不行.原来Notes邮件服务器和一般的不大一样,他需要另外设一个帐号和密码去获得smtp的验证,叫Internet密码,并不是普通的登录Notes邮箱的帐号和密码.郁闷归郁闷,还是学到了点东东,总结如下,希望对大家有所帮助.

       首先要保证一点,就是现在的smtp服务器大多需要验证,如果需要验证的话,那是需要填写该服务器帐号和密码的,为了这一点,你可以用Outlook在程序服务器上或者本机试验一下是否能用该帐号收发邮件,如果OK那就说明帐号没问题,不能则需要检查下.另外说明一点,对于Notes邮件服务器,他需要验证的帐号和密码,不是普通的邮箱帐号和密码,而是可以单独设置的,这个不明白的可以问一下你们的Notes管理员.其他的就没什么了,老惯例,我还是把测试成功的代码公布出来,其实这种代码很多,值得注意的是我前面提到的.代码如下:

    System.Web.Mail.MailMessage mailObj = new System.Web.Mail.MailMessage();
       // 发送者,接受者,标题,内容
       mailObj.From ="lixy@cnooc.com.cn";
       mailObj.To ="liujt119@126.com";
       mailObj.Subject = "HSE测试mail";
       mailObj.Bcc="abc@cnooc.com.cn";

    mailObj.BodyFormat = MailFormat.Text;
       mailObj.Body ="能发了吧,嘿嘿";
       mailObj.Priority=MailPriority.High;

    mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1"); //basic authentication
       mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","lixy"); //set your username here
       mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "1"); //set your password here
       SmtpMail.SmtpServer="19.16.198.24";  
       SmtpMail.Send(mailObj);

  • 相关阅读:
    二叉树的节点删除
    PHP开启错误日志详细说明
    jsonpath模块
    Gunicorn-配置详解
    Vmware创建虚拟机步骤说明,详细配置解释
    Python multiprocessing使用详解
    Python定时任务框架apscheduler
    Access-Control-Allow-Origin跨域解决及详细介绍
    web安全:x-content-type-options头设置
    sqlalchemy的基本操作大全
  • 原文地址:https://www.cnblogs.com/catvi/p/1953009.html
Copyright © 2011-2022 走看看