asp c#在不配置发件人凭据的情况下发送电子邮件

asp c#在不配置发件人凭据的情况下发送电子邮件,c#,email,C#,Email,我正在尝试通过一个普通的电子邮件向用户发送电子邮件,比如noreply@company.com. 我想在按钮单击事件中执行此操作。如何在不使用凭据的情况下实现这一点? 我试过几种方法,但总是出错 System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage(); mm.To.Add(new System.Net.Mail.MailAddress("Email Address", "Name"));

我正在尝试通过一个普通的电子邮件向用户发送电子邮件,比如noreply@company.com. 我想在按钮单击事件中执行此操作。如何在不使用凭据的情况下实现这一点? 我试过几种方法,但总是出错

System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage();
        mm.To.Add(new System.Net.Mail.MailAddress("Email Address", "Name"));
        mm.From = new System.Net.Mail.MailAddress("Email Address");
        mm.Sender = new System.Net.Mail.MailAddress("Email Address", "Name");
        mm.Subject = "This is Test Email";
        mm.Body = "<h3>This is Testing SMTP Mail Send By Me</h3>";
        mm.IsBodyHtml = true;
        mm.Priority = System.Net.Mail.MailPriority.High; // Set Priority to sending mail
        System.Net.Mail.SmtpClient smtCliend = new System.Net.Mail.SmtpClient();
        smtCliend.Host = "Your smtp server";
        smtCliend.Port = 25;    // SMTP port no            
        smtCliend.Credentials = new NetworkCredential("User Name", "Password");
        smtCliend.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
        try
        {
            smtCliend.Send(mm);
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            lblMsg.Text = ex.ToString();
        }
        catch (Exception exe)
        {
            lblMsg.Text = "\n\n\n" + exe.ToString();
        }
System.Net.Mail.MailMessage mm=new System.Net.Mail.MailMessage();
mm.To.Add(新系统.Net.Mail.MailAddress(“电子邮件地址”、“名称”));
mm.From=新系统.Net.Mail.MailAddress(“电子邮件地址”);
mm.Sender=新系统.Net.Mail.MailAddress(“电子邮件地址”、“名称”);
mm.Subject=“这是测试电子邮件”;
mm.Body=“这是测试我发送的SMTP邮件”;
mm.IsBodyHtml=true;
mm.Priority=System.Net.Mail.MailPriority.High;//设置发送邮件的优先级
System.Net.Mail.SmtpClient smtCliend=新系统.Net.Mail.SmtpClient();
smtCliend.Host=“您的smtp服务器”;
smtCliend.Port=25;//SMTP端口号
smtCliend.Credentials=新的网络凭据(“用户名”、“密码”);
smtCliend.DeliveryMethod=System.Net.Mail.SmtpDeliveryMethod.Network;
尝试
{
smtCliend.Send(毫米);
}
捕获(System.Net.Mail.SmtpException-ex)
{
lblMsg.Text=ex.ToString();
}
捕获(异常exe)
{
lblMsg.Text=“\n\n\n”+exe.ToString();
}

谢谢

您的SMTP服务器需要凭据吗?如果这些不是您的实际SMTP凭据,则此行可能会导致问题:
smtCliend.credentials=new NetworkCredential(“用户名”、“密码”)不,这只是我使用的模板。我想要一种不使用凭据的方法。是否可能?您可以尝试将
UseDefaultCredentials
标志设置为false,并省略设置凭据的上面一行:
smtCliend.credentials=new NetworkCredential(“用户名”、“密码”)。当然,这一切都假设实际代码中的值设置为正确的值,而不是上面看到的占位符。