当前位置: 首页 > 知识库问答 >
问题:

ASP.NET窗体不发送电子邮件

苏昊英
2023-03-14

我试图使一个表单发送电子邮件给自己,但由于某种原因它不起作用,我也搞不清楚为什么。

当我提交表单时,它显示的堆栈跟踪为:

c:\Users\PC\Desktop\Projects\EmailForm\EmailForm\index.aspx.cs:第28行中的emailForm.index.send_click(Object sender,EventArgs e)处的system.net.mail.smtpclient.send(MailMessage消息)

有人有什么想法吗?

我刚开始学习C#和ASP.NET,所以可能是一些显而易见的东西。

代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="emailform.index" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <br /> <br />
        <table align="center" width="60%">
            <tr>
                <td>to:</td>
                <td><asp:TextBox ID="to" runat="server" Text="email@gmail.com" width="60%" ></asp:TextBox></td>
            </tr>

            <tr>
                <td>from:</td>
                <td><asp:TextBox ID="from" runat="server" Text="myemail@outlook.com" Width="60%"></asp:TextBox></td>
            </tr>

            <tr>
                <td>subject</td>
                <td><asp:TextBox ID="subject" runat="server" Text="TEST" Width="60%"></asp:TextBox></td>
            </tr>

            <tr>
                <td>body</td>
                <td><asp:TextBox ID="body" runat="server" Text="this is a test message" Height="30%" Width="60%" TextMode="MultiLine"></asp:TextBox></td>
            </tr>

            <tr>
                <td></td>
                <td><asp:Button ID="send" onClick="send_Click" runat="server" Text="send" /></td>
            </tr>

            <tr>
                <td></td>
                <td><asp:Label ID="status" runat="server"></asp:Label></td>
            </tr>
        </table>
    </form>
</body>
</html>

下面是C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;

namespace emailform
{
    public partial class index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void send_Click(object sender, EventArgs e)
        {
            try
            {
                MailMessage message = new MailMessage(to.Text, from.Text, subject.Text, body.Text);
                message.IsBodyHtml = true;

                SmtpClient client = new SmtpClient("smtp.live.com", 25);
                client.EnableSsl = true;
                client.Credentials = new System.Net.NetworkCredential("myemail@outlook.com", "mypassword");
                client.Send(message);
                status.Text = "Message sent successfully!";
            }
            catch(Exception ex)
            {
                status.Text = ex.StackTrace;
            }
        }
    }
}

共有3个答案

章德惠
2023-03-14

只要改变这个

MailMessage message = new MailMessage(to.Text, from.Text, subject.Text, body.Text);

对此

MailMessage message = new MailMessage(from.Text, to.Text, subject.Text, body.Text);

会管用的。

范浩荡
2023-03-14

我试过你的代码,你的代码没有错。

我认为您输入的网络凭据错误。

尤夕
2023-03-14

您的SmtpClient设置似乎有问题。

您使用端口25和SSL。

但默认情况下,端口25不使用SSL加密。请查看下一个链接以了解详细信息。

尝试像这样更改代码:

client.EnableSsl = false;
 类似资料:
  • 我们研发的App可以在用户确认访问我们的分支机构后向其发送电子邮件。当我们使用以下Gmail配置时,它可以正常工作:电子邮件:ainetwgdocs@gmail.comPasswd:XXXXX SMTP服务器:smtp.gmail.com端口:587但是,当我们尝试使用基于域的帐户时,它根本不起作用。我们使用以下参数:电子邮件:contact@ainetw.comPasswd:XXXXX SMTP

  • 问题内容: 在Swift 的正常情况下,我使用此代码发送邮件。 如何在SwiftUI中实现相同目标? 我需要使用吗? 问题答案: 如前所述,您需要将组件移植到via 。 这是一个简单的实现: 用法 : (在运行iOS 13的iPhone 7 Plus上进行了测试-就像一个护身符) 为Xcode 11.4更新

  • 主要内容:SmtpClient类,示例VB.Net应用程序可发送电子邮件。名称空间包含用于向简单邮件传输协议(SMTP)服务器发送电子邮件以供传送的类。 下表列出了一些常用的类: 编号 类 描述 1 代表电子邮件的附件。 2 将附件存储为电子邮件的一部分。 3 代表电子邮件发件人或收件人的地址。 4 存储与电子邮件关联的电子邮件地址。 5 表示可以使用类发送的电子邮件。 6 允许应用程序使用简单邮件传输协议(SMTP)发送电子邮件。

  • 主要内容:使用 CDOSYS 发送电子邮件,CDONTs 怎么样?,使用 CDOSYS 的实例CDOSYS 是 ASP 中的内建组件。此组件用于通过 ASP 发送电子邮件。 使用 CDOSYS 发送电子邮件 CDO (Collaboration Data Objects) 是一项微软的技术,设计目的是用来简化通讯应用程序的创建。 CDOSYS 是 ASP 中的内建组件。我们将向您演示如何通过 ASP 使用该组件来发送电子邮件。 CDONTs 怎么样? 微软已经在 Windows 2000、

  • 问题内容: 但是我已经尝试了一天多了,以获取与Django一起使用的电子邮件。 我收到此错误消息:当我尝试发送电子邮件时 这是我创建电子邮件并尝试在其视图中发送的地方: 我的设置文件如下: 我尝试过使用进行测试发送python -m smtpd -n -c DebuggingServer localhost:1025并获得了成功,但是当最终归结为真正却没有成功时。 当我尝试从外壳执行send_ma

  • 我不想问关于用flutter发送电子邮件的事。我使用https://pub.dev/packages/flutter_email_sender#-readme-tab-发送电子邮件。 视图.省道

  • 在Swift中的普通中,我使用此代码发送邮件。 我需要使用吗?

  • 使用 Servlet 发送一封电子邮件是很简单的,但首先您必须在您的计算机上安装 JavaMail API 和 Java Activation Framework)JAF)。 您可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。 您可以从 Java 网站下载最新版本的 JAF(版本 1.1.1)。 你也可以使用本站提供的下载链接: Ja