zoukankan      html  css  js  c++  java
  • 使用SmtpClient发送邮件

    本来想试试用SmtpClient来做一个简单的发送邮件的Demo程序。却不想在中途遇上了意料之外的事情,使得这次试验过程变得有些曲折。

    程序是这样的:

    static void Main(string[] args)
    {
        SmtpClient client = new SmtpClient();
        client.Host = "localhost";
     
        MailAddress from = new MailAddress("from@test.com");
        MailAddress to = new MailAddress("to@test.com");
        MailMessage message = new MailMessage(from, to);
     
        client.Send(message);
     
        Console.ReadLine();
    }

    当运行时会报“由于目标计算机积极拒绝,无法连接。”的错误。查了一下据说是SMTP服务没有启动。于是在网上找到了设置的方法,控制面板-〉程序 和功能-〉打开或关闭Windows功能-〉Internet信息服务-〉应用程序开发功能-〉.NET扩展性,把这一项勾上。然后在IIS管理器中就会 出现SMTP电子邮件一项。试着在其中做相关的设定之后,结果还是同样的错误。

    又研究了一下,原来Windows 7中的IIS7已经移除了SMTP服务,所以无论如何设置,都是徒劳无用的。(这里有相关的讨论) :(

    解决的办法是安装第三方的SMTP服务器。比如免费的Free SMTP Server

    装完之后无需任何设置,启动SMTP服务器,再运行上面的程序,一切正常。

    如果想用网易等第三方SMTP服务器来发送邮件,也很简单。代码稍作修改:

    static void Main(string[] args)
    {
        SmtpClient client = new SmtpClient();
        client.Host = "smtp.163.com";
        client.Credentials = new NetworkCredential("usenme", "password");//必须设置
     
        MailAddress from = new MailAddress("from@163.com");
        MailAddress to = new MailAddress("to@test.com");
        MailMessage message = new MailMessage(from, to);
     
        client.Send(message);
     
        Console.ReadLine();
    }

    这次的尝试花费了不少的时间,希望其它人看到这篇文章后能够有所帮助。

    原文同步发布于我的个人博客

  • 相关阅读:
    从零开始学习前端开发 — 17、CSS3背景与渐变
    从零开始学习前端开发 — 16、CSS3圆角与阴影
    从零开始学习前端开发 — 15、CSS3过渡、动画
    从零开始学习前端开发 — 14、CSS3变形基础
    link标签的media属性的用法
    html的meta总结
    提高网页可访问性的十条建议
    关闭按钮
    HTTP协议详解
    jquery中each的3种遍历方法
  • 原文地址:https://www.cnblogs.com/sjyforg/p/2947426.html
Copyright © 2011-2022 走看看