在通过SMTP客户端发送电子邮件错误 [英] Error in Sending Email via a SMTP Client

查看:253
本文介绍了在通过SMTP客户端发送电子邮件错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这可能是非常平凡的你,但我就是不明白,为什么我会收到此错误信息,当我运行我的code。我看了一些相关问题上同样的网站,如<一个href="http://stackoverflow.com/questions/704636/sending-email-through-gmail-smtp-server-with-c-sharp">Sending通过Gmail SMTP服务器用C#电子邮件 但他们都不是有帮助的。任何人都愿意帮助吗? 使用不同的组件也是可以接受的。因此,如果任何人有一个工作的解决方案,这将是AP preciated。

  

错误信息= SMTP服务器要求安全连接或客户端未通过身份验证。服务器响应为:5.5.1要求进行验证。了解更多

这是我的code

  System.Net.Mail.MailMessage消息=新System.Net.Mail.MailMessage();
message.From =新MailAddress(bob@googlemail.com);
message.To.Add(bob@hotmail.com);
message.Subject =你好;
message.Body =你好鲍勃;
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

SmtpClient smtpClient =新SmtpClient(smtp.gmail.com,587);
smtpClient.EnableSsl = TRUE;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = FALSE;
smtpClient.Credentials =新的NetworkCredential(MyGoogleMailAccount
                                               mygooglemailpassword);

smtpClient.Send(message.From.ToString(),message.To.ToString(),
                message.Subject,message.Body);
 

解决方案

我不认为有什么不对您的code比E-mail地址等。我用这个code到成功发送电子邮件从Gmail到我的个人账户(运行它在LINQPad,实际上)。只需更换与有效的值3的字符串值,您的帐户和你应该是好去:

  MailMessage消息=新System.Net.Mail.MailMessage();
字符串fromEmail =myaddr@gmail.com;
字符串fromPW =mypw;
字符串toEmail =recipient@receiver.com;
message.From =新MailAddress(fromEmail);
message.To.Add(toEmail);
message.Subject =你好;
message.Body =你好鲍勃;
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

使用(SmtpClient smtpClient =新SmtpClient(smtp.gmail.com,587))
{
    smtpClient.EnableSsl = TRUE;
    smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtpClient.UseDefaultCredentials = FALSE;
    smtpClient.Credentials =新的NetworkCredential(fromEmail,fromPW);

    smtpClient.Send(message.From.ToString(),message.To.ToString(),
                    message.Subject,message.Body);
}
 

This may be very trivial for you but i just couldn't figure out why am i getting this error message when i run my code. I looked some of the relative questions on this same website for eg Sending email through Gmail SMTP server with C# but none of them was helpful. Anyone willing to help please? using different assemblies are also acceptable. so if anyone got a working solution that would be appreciated.

Error Message = The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at

here is my code

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();      
message.From = new MailAddress("bob@googlemail.com");
message.To.Add("bob@hotmail.com");
message.Subject = "Hello";
message.Body = "Hello Bob ";
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential("MyGoogleMailAccount", 
                                               "mygooglemailpassword");

smtpClient.Send(message.From.ToString(), message.To.ToString(), 
                message.Subject, message.Body);   

解决方案

I don't think there's anything wrong with your code other than the e-mail addresses. I used this code to successfully send an e-mail from gmail to my personal account (ran it in LINQPad, actually). Simply replace the 3 string values with valid values for your accounts and you should be good to go:

MailMessage message = new System.Net.Mail.MailMessage(); 
string fromEmail = "myaddr@gmail.com";
string fromPW = "mypw";
string toEmail = "recipient@receiver.com";
message.From = new MailAddress(fromEmail);
message.To.Add(toEmail);
message.Subject = "Hello";
message.Body = "Hello Bob ";
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

using(SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587))
{
    smtpClient.EnableSsl = true;
    smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtpClient.UseDefaultCredentials = false;
    smtpClient.Credentials = new NetworkCredential(fromEmail, fromPW);

    smtpClient.Send(message.From.ToString(), message.To.ToString(), 
                    message.Subject, message.Body);   
}

这篇关于在通过SMTP客户端发送电子邮件错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆