zoukankan      html  css  js  c++  java
  • windows 8上使用SmtpClient.Send()发送邮件失败的原因分析。

    更新内容。

    最终的问题还是SMTP服务器不正确引起的,而非telnet。

    另外,不在同一个domain的两个机器相互沟通需要使用全名,可以通过ping -4 <hostname>获得。

    -----------------------------------------------------------------------

    最近在写一个应用程序,但是stuck在发送邮件的地方。

    提示错误信息是unable to connect remove server。

    一开始以为是smtp的服务器地址写错了,上网搜索了很多内容,各种方法都尝试,却也没有解决我的问题。

    不过还好,在某某论坛上看到了用telnet进行验证是否smtp服务器依旧工作良好。

    方知晓,默认状态下windows 8和windows 7是一样的,默认为关闭状态。

    所以,最终在我这里是因为win8上没有开启telnet服务引起的。

    打开的办法是turn on windows feature,并且只能通过这种方式。(至少我没有发现可以通过开启服务的方式实现)

    具体操作如下:

    控制面板->Programs and Features->Turn on windows features.

    找到telnet,勾选“telnet client”;这个是允许你连接到其他电脑的上,注意是通过tcp方式建立连接。

    回到Visual Studio 11编辑器里面,重新编译运行,邮件顺利发出去了。

    using System;
    using System.Net;
    using System.Net.Mail;

    namespace EmailTestApp
    {
    class Program
    {
    static void Main(string[] args)
    {
    SmtpClient smtp = new SmtpClient();
    MailMessage mailMsg = new MailMessage();
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

    string username = "<your user name>";
    string password = "<your password";

    // initialize smtp
    smtp.Host = "smtp.163.com";
    smtp.Port = 25;
    smtp.Credentials = new NetworkCredential(username, password);

    // initialize mail
    mailMsg.From = new MailAddress("<your-account>@163.com");
    mailMsg.To.Add(new MailAddress("your-account@163.com"));
    mailMsg.Subject = "Test Email";

    // we want send html code so that we can see the rich text, i.e css style
    mailMsg.IsBodyHtml = true;

    mailMsg.Body = @"<tb>
    <tr>
    <td>Column #1</td>
    <td>Column #2</td>
    </tr>
    <tr>
    <td>Lucas Luo</td>
    <td>Bill Gates</td>
    </tr>
    ";

    // here we send the email, you can also use SendAsync to give contro back to your caller
    smtp.Send(mailMsg);

    Console.WriteLine("Finish email sending......");
    Console.ReadLine();
    }
    }
    }
  • 相关阅读:
    ASP.NET CORE 使用Consul实现服务治理与健康检查(2)——源码篇
    ASP.NET CORE 使用Consul实现服务治理与健康检查(1)——概念篇
    Asp.Net Core 单元测试正确姿势
    如何通过 Docker 部署 Logstash 同步 Mysql 数据库数据到 ElasticSearch
    Asp.Net Core2.2 源码阅读系列——控制台日志源码解析
    使用VS Code 开发.NET CORE 程序指南
    .NetCore下ES查询驱动 PlainElastic .Net 升级官方驱动 Elasticsearch .Net
    重新认识 async/await 语法糖
    EF添加
    EF修改部分字段
  • 原文地址:https://www.cnblogs.com/lucasluo/p/2381239.html
Copyright © 2011-2022 走看看