使用SmtpClient发送邮件的方法

时间:2022-12-07 16:32:58 

程序是这样的:


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();
}


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

标签:SmtpClient,发送邮件
0
投稿

猜你喜欢

  • C语言多功能动态通讯录实现示例

    2022-11-16 09:12:44
  • Spring boot集成Mybatis的方法教程

    2023-11-25 06:20:41
  • java代码实现C盘文件统计工具

    2021-06-23 01:22:38
  • Android图片框架Glide原理深入探索

    2021-07-22 05:08:42
  • Android Support Annotations资料整理

    2021-09-21 13:39:33
  • Flutter系列重学Container示例详解

    2023-07-19 00:46:10
  • 简单的理解java集合中的HashSet和HashTree几个重写方法

    2022-10-23 15:16:36
  • mybatis之如何获取表中某一列的最大值

    2022-03-26 08:38:53
  • Android使用BroadcastReceiver监听网络连接状态的改变

    2021-12-27 05:28:35
  • Spring Boot 中application.yml与bootstrap.yml的区别

    2023-07-09 12:30:56
  • Unity调用C++ dll实现打开双目相机

    2022-05-28 13:19:51
  • Spring Data Jpa框架最佳实践示例

    2021-11-25 00:43:01
  • C#设置软件开机自动运行的方法(修改注册表)

    2022-08-27 21:05:46
  • 浅谈Java多进程程序的运行模式

    2021-07-06 11:06:49
  • Spring计划任务用法实例详解

    2021-08-03 11:41:08
  • 使用UITextField限制输入金额是正确小数

    2023-12-19 23:21:17
  • c# 通过经纬度查询 具体的地址和区域名称

    2023-08-15 11:41:53
  • Servlet 过滤器详细介绍

    2021-10-21 13:51:57
  • java查找图中两点之间所有路径

    2022-10-04 03:08:11
  • Mybatis防止sql注入原理分析

    2023-08-09 22:54:44
  • asp之家 软件编程 m.aspxhome.com