从C#代码发送电子邮件时出错

从C#代码发送电子邮件时出错,c#,C#,当我将邮件发送到我的gmail帐户时,它显示以下错误 SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:需要5.7.1身份验证。。。 下面是我正在使用的代码 MailMessage m = new MailMessage(); SmtpClient sc = new SmtpClient(); try { m.From = new MailAddress("me@gmail.com"); m.To.Add("me@gmail.com"); m.Su

当我将邮件发送到我的gmail帐户时,它显示以下错误

SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:需要5.7.1身份验证。。。 下面是我正在使用的代码

MailMessage m = new MailMessage();
SmtpClient sc = new SmtpClient();
try
{
     m.From = new MailAddress("me@gmail.com");
     m.To.Add("me@gmail.com");
     m.Subject = "This is a Test Mail";
     m.IsBodyHtml = true;
     m.Body = "test gmail";
     sc.Host = "smtp.gmail.com";
     sc.Port = 587;
     sc.Credentials = new System.Net.NetworkCredential("me@gmail.com", "passward");
     sc.UseDefaultCredentials = true;
     sc.EnableSsl = true;
     sc.Send(m);
     Response.Write("Email Send successfully");
}
catch (Exception ex)
{
     Response.Write(ex.Message);
}

刚刚尝试了你的代码,不得不处理一些事情,但收到了这个。有趣的是,我以前使用Gmail smtp(几年前)做过这件事。但看起来他们正在验证使用他们平台的应用程序

请使用您注册的其他smtp服务器,或使用您自己的smtp服务器。(必须有在线可用的测试软件??)。很肯定sendgrid会免费试用

using System.Net;
using System.Net.Mail;


string smtpAddress = "smtp.mail.yahoo.com";
int portNumber = 587;
bool enableSSL = true;

string emailFrom = "email@yahoo.com";
string password = "abcdefg";
string emailTo = "someone@domain.com";
string subject = "Hello";
string body = "Hello, I'm just writing this to say Hi!";

using (MailMessage mail = new MailMessage())
{
    mail.From = new MailAddress(emailFrom);
    mail.To.Add(emailTo);
    mail.Subject = subject;
    mail.Body = body;
    mail.IsBodyHtml = true;
    // Can set to false, if you are sending pure text.

    mail.Attachments.Add(new Attachment("C:\\SomeFile.txt"));
    mail.Attachments.Add(new Attachment("C:\\SomeZip.zip"));

    using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))
    {
        smtp.Credentials = new NetworkCredential(emailFrom, password);
        smtp.EnableSsl = enableSSL;
        smtp.Send(mail);
    }
}
请试试这个。这个应该适合你
谢谢

gmail将不允许您使用他们的smtp。您必须使用自己的smtp。我如何才能使用自己的smtpsmtp@KosalaWPossible您可以使用的副本,或者如果您知道您的办公室/学校电子邮件服务器设置,您可以使用您自己的凭据。