欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用SmtpClient发送邮件的方法

程序员文章站 2023-12-03 08:23:28
程序是这样的: 复制代码 代码如下:static void main(string[] args){    smtpclient clien...

程序是这样的:

复制代码 代码如下:

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

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