电子邮件发送错误5.5.1需要验证 [英] Email send error 5.5.1 authentication required

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

问题描述

try
        {
            MailMessage mail = new MailMessage();


            mail.From = new MailAddress("sami.goswami@gmail.com");
            mail.To.Add(txtto.Text);
            mail.Subject = txtsub.Text;
            mail.Body = txtmsg.Text;

            SmtpClient Smtpserver = new SmtpClient();

            Smtpserver.Credentials = new NetworkCredential("sami.goswami@gmail.com", "password", "smtp.gmail.com");
            Smtpserver.Host = "smtp.gmail.com";
            Smtpserver.Port = 587;
            Smtpserver.DeliveryMethod = SmtpDeliveryMethod.Network;

            Smtpserver.EnableSsl = true;
            Smtpserver.UseDefaultCredentials = false;

            Smtpserver.Send(mail);


            label1.Text = "Email successfully sent";
        }
        catch (Exception ex)
        {
            label1.Text = "Email failed" + ex.Message;
        }











web.config文件








web.config file

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
  
  </system.web>
<system.net>
            <mailSettings>
                <smtp deliveryMethod="Network" from="sami.goswami@gmail.com">
                    <network defaultCredentials="false" host="smtp.gmail.com" port="25" userName="sami.goswami@gmail.com" password="password"/>
                </smtp>
            </mailSettings>
        </system.net>
</configuration>





我尝试过:



i更改我的Gmail帐户设置但无法取得任何成功



What I have tried:

i change my gmail account setting but cant get any success

推荐答案

Manage your account access and security settings



登录 - Google帐户 [ ^ ]

更多


Sign in - Google Accounts[^]
Further more

Read this to learn how to allow less secure APPs to use your login:
https://support.google.com/accounts/answer/6010255?hl=en



尝试以下代码


Try the Below Code

using (MailMessage mail = new MailMessage())
            {
                mail.From = new MailAddress("From Mail-ID");
                mail.To.Add("To Mail-ID");
                mail.CC.Add("CC Mail-ID");//if required
                mail.Subject = "Subject of the Mail";
                mail.Body = "Body Content of the Mail";
                mail.IsBodyHtml = true;
                using (SmtpClient smtp = new SmtpClient())
                {
                    smtp.Host = "smtp.gmail.com";
                    smtp.Port = 587;
                    smtp.EnableSsl = true;
                    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                    smtp.UseDefaultCredentials = false;
                    smtp.Credentials = new NetworkCredential("From Mail-ID", MailPassword);
                    smtp.Send(mail);
                }
            }



希望这个帮助!


根据线程 smtp - 如何发送电子邮件使用C#到Gmail - Stack Overflow [ ^ ]它可能有助于执行该行

According to the thread smtp - How to send an e-mail with C# through Gmail - Stack Overflow[^] it may help to execute the line
Smtpserver.UseDefaultCredentials = false;







你是还要在 web.config 文件中指定端口25,但这里不应该关心。


before setting the credentials.

You are also specifying port 25 in your web.config file but that should not care here.


这篇关于电子邮件发送错误5.5.1需要验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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