C# SMTP异常。要求认证?

C# SMTP异常。要求认证?,c#,asp.net,smtp,C#,Asp.net,Smtp,配置 protected void Button1_Click(object sender, EventArgs e) { MailMessage message = new MailMessage() { Subject = "Subject", Body = "Body" }; message.To.Add(new MailAddress("demo@example.com", "Some name")); SmtpC

配置

protected void Button1_Click(object sender, EventArgs e)
{
    MailMessage message = new MailMessage()
    {
        Subject = "Subject",
        Body = "Body"
    };
    message.To.Add(new MailAddress("demo@example.com", "Some name"));

    SmtpClient client = new SmtpClient();
    client.EnableSsl = true;
    client.Send(message);
}


更正。现在可以了。谢谢Marek

您的问题可能是
defaultCredentials
设置为true。请尝试将其设置为false,然后重试。另外,为什么要在代码中再次设置凭据?Gmail还要求通过587端口的SSL(如果我没记错的话)发送电子邮件

就在今天,我在代码中实现了gmail smtp。我的设置和代码:

<configuration>
  <system.net>
    <mailSettings>
      <smtp from="demo@example.com">
        <network host="****" defaultCredentials="false"  port="587" userName="****" password="****" />
      </smtp>
    </mailSettings>
  </system.net>
 <system.web>

MailMessage=newmailmessage(){
Subject=“Subject”,
Body=“Body”
};
message.To.Add(新邮件地址(“someemail@domain.com","某名"),;
SmtpClient SmtpClient=新的SmtpClient();
smtpClient.EnableSsl=true;
发送(消息);

你不应该使用gmail发件人地址来设置gmail smtp服务器吗?我很确定gmail不允许你从雅虎地址发送电子邮件。然而,也有很多帖子是关于这个和Gmail(很抱歉,我找不到一个)的。我把我的电子邮件地址改成了Gmail。还是不行。消息错误与什么有关?是的,端口25用于电子邮件中继。好的,我更新了我的全部答案!!!。。不会引发异常,但不会发送电子邮件。您是否将yahoo电子邮件更改为gmail
如果我想向用户发送一个链接,请按……我可以直接键入吗?!?还有一个问题,我的网站没有上线,我想给他发一个链接,直接连接到我的页面。如果我上传网站后不知道页面的地址,我该怎么做。我在visual studio 2010工作,第一个问题很简单:
message.IsBodyHtml=true
将允许您向电子邮件中添加常规HTML标记。第二个也是易于使用的
HttpContext.Current.Request.Url.Host
Request.Url.Host
(取决于您在程序中的位置-
HttpContext
是我大部分时间使用的内容)。这将为您提供运行代码的站点的URL。
<system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="MY_GMAIL_EMAIL">
        <network defaultCredentials="false" host="smtp.gmail.com" port="587" userName="MY_GMAIL_USERNAME" password="MY_GMAIL_PASSWORD" />
      </smtp>
    </mailSettings>
  </system.net>


MailMessage message = new MailMessage() {
                              Subject = "Subject",
                              Body = "Body"
                          };
message.To.Add(new MailAddress("someemail@domain.com", "Some name"));
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.Send(message);