【问题标题】:Sending Email with C# Web App使用 C# Web App 发送电子邮件
【发布时间】:2010-11-28 10:32:28
【问题描述】:

我有一个 C# Web 应用程序(使用 ASP.NET 2.0),我想用它来发送电子邮件。我在网上对此进行了研究,但我只是变得更加困惑。我已经学会了一些基础知识,但它并没有让我到任何地方。到目前为止,这是我所拥有的:

         MailMessage message = new MailMessage(txtFrom.Text, txtTo.Text, txtSubject.Text, txtBody.Text);
        SmtpClient emailClient = new SmtpClient(txtSMTPServer.Text);
        emailClient.Send(message);

所有以 txt 为前缀的控件都是文本框。我从在线教程中获得了其中的一部分,但它不起作用,因为我不确定我应该在 SMTP 服务器文本框中输入什么。谁能帮我? 谢谢

【问题讨论】:

标签: c# asp.net email web-applications


【解决方案1】:

您需要放入本地 SMTP 服务器 - 可能与您的 Web 服务器在同一网络中。如果您正在运行的 IIS 也发送邮件,您甚至可以只使用“localhost”。或者,您是否在网络中的某个地方运行 Exchange?

【讨论】:

  • 另外,当我尝试'localhost'时,它给了我这个错误:'已建立的连接被主机中的软件中止'
  • @zohair:那表明你没有在本地主机上运行 SMTP 服务器。
  • 可以用这个来设置使用Exchange吗?
  • 那我该怎么做才能克服这个问题呢?
  • 您找出您的 Exchange 服务器在哪里,然后发送到那个...确保它启用了 SMTP。
【解决方案2】:

这是指将处理邮件的 SMTP 服务器(外发邮件)的地址。如果您安装了 Outlook 或 Thunderbird,请打开您的电子邮件帐户设置并查看其 SMTP 详细信息。

【讨论】:

    【解决方案3】:

    把它放在你的 web.config 中,SMTP 发送服务器设置

    <system.net>
        <mailSettings>
            <smtp deliveryMethod="Network">
                <network defaultCredentials="false" port="25" host="mail.abc.com" userName="mailer@abc.com" password="abc123"/>
            </smtp>
        </mailSettings>
    </system.net>
    

    并创建一个类似 smtp 的对象,它会自动进行 SMTP 设置

        SmtpClient emailClient = new SmtpClient();
    

    也检查这个线程。Sending Email in ASP.NET 2.0

    【讨论】:

      【解决方案4】:

      这取决于您在哪里运行您的项目。 如果是您的本地主机,只需输入本地主机 或者您想在托管网站上发布它,您应该输入公司提供的邮件服务器名称或再次写入本地主机。我认为它有效。 对于端口号,您可以使用 25。

      • 如果您在本地主机(Intranet)上使用它,请使用一个邮件服务器程序,该程序为您的个人计算机建立一个邮件服务器。 例如。易信

      【讨论】:

        猜你喜欢
        • 2016-04-17
        • 2012-02-25
        • 2010-10-01
        • 2016-04-23
        相关资源
        最近更新 更多