• C#发送邮件


    今天遇到一个需求需要通过客户端发送邮件,然后开始google各种博文,遇到了一些问题,总了一下,代码如下:

    MailMessage mailMessage = new MailMessage();//定义邮件
                        SmtpClient smtpClient = new SmtpClient();//定义发件客户端
                        mailMessage.From = new MailAddress("发件人地址");//邮件发送人地址
                        mailMessage.Subject = "test";//邮件主题
                        mailMessage.Body = "test";//邮件内容
                        mailMessage.IsBodyHtml = true;//HTML格式
                        mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//编码UTF8
                        mailMessage.Priority = MailPriority.Normal;//邮件发送的优先性为正常
                        mailMessage.To.Add("发件人地址");
                        smtpClient.UseDefaultCredentials = false;//使用默认凭据
                        smtpClient.EnableSsl = false;//启动SSL,即安全发送
                        smtpClient.Credentials = new NetworkCredential("发件人地址", "密码");
                        smtpClient.Host = "smtp.xxxxx";//发送连接服务器主机IP
                        smtpClient.Port = 25;//端口号  25,465
                        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//传递电子邮件消息,通过网络发送电子邮件到SMTP
                        smtpClient.Send(mailMessage);//确认发送按钮

    以上代码测试有效,中间也遇到了问题

    1.无法读取的数据传输连接:net_io_connectionclosed

    解释:需要将UseDefaultCredentials设置放到登录信息smtpClient.Credentials的前面

    smtpClient.UseDefaultCredentials
    smtpClient.Credentials = new NetworkCredential("发件人地址", "密码");
  • 相关阅读:
    评教说明
    使用firebird2.1与dbEntry.net做的设备报修小程序
    不知道为什么IList.Contains()总是返回FALSE
    DbEntry.net复合索引设置
    招生网上报名程序090512.rar
    aspnetdb生成
    推荐工具ActiveWriter
    dbEntry.net CK.K的高级应用
    tomcat添加虚拟子目录
    短信网关与短信猫
  • 原文地址:https://www.cnblogs.com/lyq2012/p/16057368.html
Copyright © 2020-2023  润新知