【问题标题】:Send e-mail asp.net C# Windows7 32 bit发送电子邮件 asp.net C# Windows 7 32 位
【发布时间】:2013-04-30 04:59:47
【问题描述】:

我正在尝试从 Windows7 中的 asp.net 发送电子邮件。经过数小时的谷歌搜索后,我发现 SMTP 服务器在 Windows 7 中不可用。我尝试了以下代码并出现一个主要错误“无法建立连接,因为目标机器主动拒绝它 74.125.25.109:587” .

编号:1

 private void sendmail()
    {
        string email = "mymail@gmail.com";
        string password = "mygmail_password";

        var loginInfo = new NetworkCredential(email, password);
        var msg = new System.Net.Mail.MailMessage();
        var smtpClient = new SmtpClient("smtp.gmail.com", 587);

        msg.From = new MailAddress(email);
        msg.To.Add(new MailAddress("recipient@gmail.com"));
        msg.Subject = "my mail subject";
        msg.Body = "my mail body";
        msg.IsBodyHtml = true;

        smtpClient.EnableSsl = true;
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = loginInfo;
        smtpClient.Send(msg);
    }

编号:2

private void sendthemail()
    {
        System.Net.Mail.MailMessage mailObj = new System.Net.Mail.MailMessage(
         txtFrom.Text,txtEmail.Text,txtSubject.Text, txtBody.Text);
        SmtpClient SMTPServer = new SmtpClient("localhost");
        try
        {
            SMTPServer.Send(mailObj);

            SMTPServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory;

            SMTPServer.PickupDirectoryLocation = "C:\\inetpub\\mailroot\\Pickup";

            SMTPServer.Host = "127.0.0.1"; // localhost

            SMTPServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            Label1.Text = "Mail sent";
        }
        catch (Exception ex)
        {
            Label1.Text = ex.ToString();
        }
    }

我的问题是:

-我需要一个 SMTP 服务器来使用 gmail 通过 ASP.Net 发送邮件吗?

-有什么要下载的吗?

-有什么我应该添加到我的代码中的吗?

-如何检测系统中运行的 SMTP 服务器?

我已经下载了很多应用程序,例如hMailServer,Smtp4dev,Windows SMTP服务器,不知道如何处理它。请帮助!

【问题讨论】:

  • 好吧,也许端口被阻止了,或者防火墙阻止了它们,或者你的防病毒软件阻止了它,检查它们
  • 我已关闭防火墙

标签: c# asp.net smtp smtpclient


【解决方案1】:

不,因为您使用的是 System.Net.Mail 类,并且您在代码中提供了 gmail.smpt 服务器。 无需下载 您可以检查您的服务(services.msc) smtp 服务器服务是否正在运行。

请在您尝试发送电子邮件时向您发送错误信息,这将有助于找出真正的问题。

【讨论】:

【解决方案2】:

您是否在您的 gmail 帐户上明确启用了 smtp。据我所知,这需要先启用才能使用它。 我建议您先检查 gmail 中的设置,因为您的代码看起来还不错。

我也会尝试在此处删除端口号。不需要它,因为您使用的是 EnableSSL 属性。

var smtpClient = new SmtpClient("smtp.gmail.com");

-我需要一个 SMTP 服务器来使用 gmail 通过 ASP.Net 发送邮件吗? – 您确实需要一个 SMTP 服务器,但您不需要在本地计算机上安装它。

-有什么需要下载的吗? – 没有。

-有什么我应该添加到我的代码中的吗? – 尝试更改上面的行。

-如何检测系统中运行的 SMTP 服务器? – 检查系统上运行的服务,看看那里是否有 SMTP 服务器。

【讨论】:

    猜你喜欢
    • 2012-07-27
    • 2017-08-13
    • 2012-12-11
    • 2016-09-15
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    相关资源
    最近更新 更多