相关疑难解决方法(0)

如何在ASP.NET C#中发送电子邮件

我是ASP.NET C#领域的新手.我打算通过ASP.NET C#发送邮件,这是我的ISP的SMTP地址:

smtp-proxy.tm.net.my
Run Code Online (Sandbox Code Playgroud)

以下是我尝试做的,但失败了.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="SendMail" %>
<html>
<head id="Head1" runat="server"><title>Email Test Page</title></head>
<body>
    <form id="form1" runat="server">
        Message to: <asp:TextBox ID="txtTo" runat="server" /><br>
        Message from: <asp:TextBox ID="txtFrom" runat="server" /><br>
        Subject: <asp:TextBox ID="txtSubject" runat="server" /><br>
        Message Body:<br>
        <asp:TextBox ID="txtBody" runat="server" Height="171px" TextMode="MultiLine"  Width="270px" /><br>
        <asp:Button ID="Btn_SendMail" runat="server" onclick="Btn_SendMail_Click" Text="Send Email" /><br>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

以下是我的代码隐藏:

using System;
using System.Web.UI.WebControls;
using System.Net.Mail;
public partial class SendMail …
Run Code Online (Sandbox Code Playgroud)

c# asp.net email smtp

77
推荐指数
4
解决办法
39万
查看次数

使用配置文件的MailSettings进行SMTP身份验证

我将我的MailSettings存储在web.config中,但是当我发送邮件时,我的SMTP服务器报告我需要使用身份验证.我在配置文件中有我的用户名/密码,但它仍然失败.

如果我执行以下操作,它可以工作,但这似乎是一个额外的步骤.它不应该只从配置文件中获取并自动使用身份验证吗?

System.Configuration.Configuration config = WebConfigurationManager.OpenWebConfiguration(
    HttpContext.Current.Request.ApplicationPath);
MailSettingsSectionGroup settings =
    (MailSettingsSectionGroup) config.GetSectionGroup("system.net/mailSettings");

SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential(
   settings.Smtp.Network.UserName, settings.Smtp.Network.Password);
Run Code Online (Sandbox Code Playgroud)

Web.config文件

<system.net>
    <mailSettings>
        <smtp from="me@xyz.com" deliveryMethod="Network">
            <network host="mail.xyz.com" defaultCredentials="true"
                userName="me@xyzcom" password="abc123" />
        </smtp>
    </mailSettings>
 </system.net>
Run Code Online (Sandbox Code Playgroud)

System.Net.Mail.SmtpException

超出存储分配.服务器响应是:请使用smtp身份验证.请参见 http://www.myISP.com/support/smtp-authentication.aspx

"超出存储分配"困扰了我们很长一段时间,我们现在忽略它.这是"使用smtp身份验证"似乎很重要.

asp.net smtp mailsettings smtp-auth

17
推荐指数
2
解决办法
4万
查看次数

在不安装SMTP服务器的情况下发送邮件

我有一个.Net应用程序.我希望这个应用程序向我发送电子邮件.如何在不安装SMTP服务器的情况下实现此目的?

.net c# email smtp

15
推荐指数
2
解决办法
3万
查看次数

SmtpClient和app.config system.net配置

我正在开发用于发送电子邮件的.NET 3.5库的问题.我把system.net配置放入app.config:

<system.net>
  <mailSettings>
    <smtp from="mail@domain.com">
      <network host="myserver.com" port="25" defaultCredentials="true" />
    </smtp>
  </mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)

我实例化没有参数的SmtpClient:

SmtpClient client = new SmtpClient();
Run Code Online (Sandbox Code Playgroud)

但是没有读取配置(我正在尝试用NUnit测试库)而且我得到了一个System.InvalidOperationException,因为没有读取配置,因此主机为空.

不应该自动读取配置吗?

.net c# email app-config

10
推荐指数
1
解决办法
3万
查看次数

标签 统计

c# ×3

email ×3

smtp ×3

.net ×2

asp.net ×2

app-config ×1

mailsettings ×1

smtp-auth ×1