friendlessstar 发表于 2015-5-23 09:51:30

windows 8上使用SmtpClient.Send()发送邮件失败的原因分析。

  更新内容。
  最终的问题还是SMTP服务器不正确引起的,而非telnet。
  另外,不在同一个domain的两个机器相互沟通需要使用全名,可以通过ping -4 获得。
  -----------------------------------------------------------------------
  最近在写一个应用程序,但是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 = "";
            string password = "
页: [1]
查看完整版本: windows 8上使用SmtpClient.Send()发送邮件失败的原因分析。