从C#代码发送电子邮件时出错
当我将邮件发送到我的gmail帐户时,它显示以下错误 SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:需要5.7.1身份验证。。。 下面是我正在使用的代码从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
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您可以使用的副本,或者如果您知道您的办公室/学校电子邮件服务器设置,您可以使用您自己的凭据。