gpt4 book ai didi

c# - 想从asp.net网站发送自动邮件

转载 作者:行者123 更新时间:2023-11-30 16:23:42 25 4
gpt4 key购买 nike

每当有人单击提交按钮输入一些值时,我试图从我的 asp.net 网站发送一封自动邮件。我在 C# 中创建了一些代码。它没有显示任何错误,但也没有发送任何邮件。我在网络凭证中使用组织邮件服务器的 ip 地址。我不确定如何为我用来发送邮件的电子邮件地址提供密码。我正在与您分享我的代码。

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.ComponentModel;// for backgroundworker class
using System.Net;
using System.Net.Mail;
using System.Threading;

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

}

protected void LoginView1_ViewChanged(object sender, EventArgs e)
{

}

public void Button3_Click(object sender, EventArgs e)
{
using (SqlConnection connn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{

SqlCommand command = new SqlCommand();
command.CommandType = System.Data.CommandType.StoredProcedure;
command.CommandText = "dbo.Procedure";

command.Parameters.Add("@name", System.Data.SqlDbType.VarChar).Value = TextBox1.Text;
command.Parameters.Add("email", System.Data.SqlDbType.VarChar).Value = email.Text;
command.Parameters.Add("sub", System.Data.SqlDbType.VarChar).Value = sub.Text;
command.Parameters.Add("message", System.Data.SqlDbType.VarChar).Value = message.Text;

string from = "info@xxx.com";
string to = "abc@xxx.com";
string mailSubject = sub.Text.ToString();
string mailBody = message.Text.ToString();
MailMessage mess = new MailMessage(from, to, mailSubject, mailBody);
mess.IsBodyHtml = true;
SmtpClient emailClient = new SmtpClient("//xxx.xxx.x.x/", 25); //Server ip & port
emailClient.UseDefaultCredentials = true;
//System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential("", "");
//emailClient.Credentials = SMTPUserInfo;
//emailClient.Send(mess);

// emailClient.Credentials = CredentialCache.DefaultNetworkCredentials;

try
{
emailClient.Send(mess);
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in CreateTestMessage1(): {0}",
ex.ToString());
}

command.Connection = connn;
connn.Open();
command.ExecuteNonQuery();
connn.Close();
}
TextBox1.Text = "";
email.Text = "";
sub.Text = "";
message.Text = "";
lblmsg.Text = "Data entered successfully!!! Thank You for contacting us! We will get back to you as soon as possible.";
//Response.Write("Submitted Succesfully");
Response.Redirect("~/XX.aspx");
}
}

最佳答案

您可能想停止使用默认凭据

emailClient.UseDefaultCredentials = false;

并添加

emailClient.Credentials = new System.Net.NetworkCredential("yourusername", "yourpassword");

使用您自己的凭据,因为大多数 SMTP 服务器现在阻止匿名中继以阻止垃圾邮件。

关于c# - 想从asp.net网站发送自动邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11318620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com