Отправка электронной почты в.NET через Gmail

Вместо того чтобы полагаться на мой хост в отправке электронной почты, я думал об отправке сообщений электронной почты, используя мою учетную запись Gmail. Электронные письма - это персонализированные электронные письма группам, в которых я играю на своем шоу. Можно ли это сделать?

29 ответов

Решение

Обязательно используйте System.Net.Mailне устарела System.Web.Mail, Делать SSL с System.Web.Mail это грубый беспорядок взломанных расширений.

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

var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string fromPassword = "fromPassword";
const string subject = "Subject";
const string body = "Body";

var smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})
{
    smtp.Send(message);
}

Приведенный выше ответ не работает. Вы должны установить DeliveryMethod = SmtpDeliveryMethod.Network или он вернется с ошибкой "клиент не был аутентифицирован". Также всегда полезно поставить тайм-аут.

Пересмотренный код:

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

var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@yahoo.com", "To Name");
const string fromPassword = "password";
const string subject = "test";
const string body = "Hey now!!";

var smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
    Timeout = 20000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})
{
    smtp.Send(message);
}

Чтобы другие ответы работали "с сервера", сначала включите доступ к менее защищенным приложениям в учетной записи gmail.

Похоже, недавно Google изменил свою политику безопасности. Ответ с самым высоким рейтингом больше не работает, пока вы не измените настройки своей учетной записи, как описано здесь: https://support.google.com/accounts/answer/6010255?hl=en-GB

По состоянию на март 2016 года Google снова изменил расположение настроек!

http://www.systemnetmail.com/, пожалуй, самый нелепо законченный сайт, посвященный одному пространству имен.NET... но на нем есть ВСЕ, что вы когда-либо захотите узнать об отправке почты через.NET, будь то ASP.NET или Desktop.

http://www.systemwebmail.com/ был оригинальным URL в посте, но не должен использоваться для.NET 2.0 и выше.

Это для отправки электронной почты с приложением.. Простой и короткий..

источник: http://coding-issues.blogspot.in/2012/11/sending-email-with-attachments-from-c.html

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

public void email_send()
{
    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mail.From = new MailAddress("your mail@gmail.com");
    mail.To.Add("to_mail@gmail.com");
    mail.Subject = "Test Mail - 1";
    mail.Body = "mail with attachment";

    System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
    mail.Attachments.Add(attachment);

    SmtpServer.Port = 587;
    SmtpServer.Credentials = new System.Net.NetworkCredential("your mail@gmail.com", "your password");
    SmtpServer.EnableSsl = true;

    SmtpServer.Send(mail);

}

Google может блокировать попытки входа в некоторые приложения или устройства, которые не используют современные стандарты безопасности. Поскольку эти приложения и устройства легче взломать, их блокировка помогает обеспечить безопасность вашей учетной записи.

Вот некоторые примеры приложений, которые не поддерживают новейшие стандарты безопасности:

  • Приложение Почта на вашем iPhone или iPad с iOS 6 или ниже
  • Почтовое приложение на вашем телефоне Windows Phone, предшествующее версии 8.1
  • Некоторые настольные почтовые клиенты, такие как Microsoft Outlook и Mozilla Thunderbird

Поэтому вам нужно включить менее безопасный вход в свой аккаунт Google.

После входа в учетную запись Google перейдите на:

https://myaccount.google.com/lesssecureapps
или же
https://www.google.com/settings/security/lesssecureapps

В C# вы можете использовать следующий код:

using (MailMessage mail = new MailMessage())
{
    mail.From = new MailAddress("email@gmail.com");
    mail.To.Add("somebody@domain.com");
    mail.Subject = "Hello World";
    mail.Body = "<h1>Hello</h1>";
    mail.IsBodyHtml = true;
    mail.Attachments.Add(new Attachment("C:\\file.zip"));

    using (SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587))
    {
        smtp.Credentials = new NetworkCredential("email@gmail.com", "password");
        smtp.EnableSsl = true;
        smtp.Send(mail);
    }
}

Чтобы заставить его работать, мне нужно было включить учетную запись Gmail, чтобы другие приложения могли получить к ней доступ. Это делается с помощью "включить менее безопасные приложения", а также с помощью этой ссылки: https://accounts.google.com/b/0/DisplayUnlockCaptcha

Вот моя версия: " Отправить письмо в C # с помощью Gmail".

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

namespace SendMailViaGmail
{
   class Program
   {
   static void Main(string[] args)
   {

      //Specify senders gmail address
      string SendersAddress = "Sendersaddress@gmail.com";
      //Specify The Address You want to sent Email To(can be any valid email address)
      string ReceiversAddress = "ReceiversAddress@yahoo.com";
      //Specify The password of gmial account u are using to sent mail(pw of sender@gmail.com)
      const string SendersPassword = "Password";
      //Write the subject of ur mail
      const string subject = "Testing";
      //Write the contents of your mail
      const string body = "Hi This Is my Mail From Gmail";

      try
      {
        //we will use Smtp client which allows us to send email using SMTP Protocol
        //i have specified the properties of SmtpClient smtp within{}
        //gmails smtp server name is smtp.gmail.com and port number is 587
        SmtpClient smtp = new SmtpClient
        {
           Host = "smtp.gmail.com",
           Port = 587,
           EnableSsl = true,
           DeliveryMethod = SmtpDeliveryMethod.Network,
           Credentials    = new NetworkCredential(SendersAddress, SendersPassword),
           Timeout = 3000
        };

        //MailMessage represents a mail message
        //it is 4 parameters(From,TO,subject,body)

        MailMessage message = new MailMessage(SendersAddress, ReceiversAddress, subject, body);
        /*WE use smtp sever we specified above to send the message(MailMessage message)*/

        smtp.Send(message);
        Console.WriteLine("Message Sent Successfully");
        Console.ReadKey();
     }

     catch (Exception ex)
     {
        Console.WriteLine(ex.Message);
        Console.ReadKey();
     }
    }
   }
 }

Я надеюсь, что этот код будет работать нормально. Вы можете попробовать.

// Include this.                
using System.Net.Mail;

string fromAddress = "xyz@gmail.com";
string mailPassword = "*****";       // Mail id password from where mail will be sent.
string messageBody = "Write the body of the message here.";


// Create smtp connection.
SmtpClient client = new SmtpClient();
client.Port = 587;//outgoing port for the mail.
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(fromAddress, mailPassword);


// Fill the mail form.
var send_mail = new MailMessage();

send_mail.IsBodyHtml = true;
//address from where mail will be sent.
send_mail.From = new MailAddress("from@gmail.com");
//address to which mail will be sent.           
send_mail.To.Add(new MailAddress("to@example.com");
//subject of the mail.
send_mail.Subject = "put any subject here";

send_mail.Body = messageBody;
client.Send(send_mail);

Чтобы избежать проблем безопасности в Gmail, сначала необходимо сгенерировать пароль приложения в настройках Gmail, и вы можете использовать этот пароль вместо реального пароля для отправки электронного письма, даже если вы используете двухэтапную проверку.

Источник: Отправить письмо в ASP.NET C#

Ниже приведен пример рабочего кода для отправки по почте с использованием C#, в приведенном ниже примере я использую SMTP-сервер Google.

Код довольно понятен, замените адрес электронной почты и пароль своими значениями адреса электронной почты и пароля.

public void SendEmail(string address, string subject, string message)
{
    string email = "yrshaikh.mail@gmail.com";
    string password = "put-your-GMAIL-password-here";

    var loginInfo = new NetworkCredential(email, password);
    var msg = new MailMessage();
    var smtpClient = new SmtpClient("smtp.gmail.com", 587);

    msg.From = new MailAddress(email);
    msg.To.Add(new MailAddress(address));
    msg.Subject = subject;
    msg.Body = message;
    msg.IsBodyHtml = true;

    smtpClient.EnableSsl = true;
    smtpClient.UseDefaultCredentials = false;
    smtpClient.Credentials = loginInfo;
    smtpClient.Send(msg);
}

Включите это,

using System.Net.Mail;

А потом,

MailMessage sendmsg = new MailMessage(SendersAddress, ReceiversAddress, subject, body); 
SmtpClient client = new SmtpClient("smtp.gmail.com");

client.Port = Convert.ToInt16("587");
client.Credentials = new System.Net.NetworkCredential("mail-id@gmail.com","password");
client.EnableSsl = true;

client.Send(sendmsg);

Если вы хотите отправить фоновое письмо, пожалуйста, сделайте следующее

 public void SendEmail(string address, string subject, string message)
 {
 Thread threadSendMails;
 threadSendMails = new Thread(delegate()
    {

      //Place your Code here 

     });
  threadSendMails.IsBackground = true;
  threadSendMails.Start();
}

и добавить пространство имен

using System.Threading;

С 1 июня 2022 года Google добавил некоторые функции безопасности.

Google больше не поддерживает использование сторонних приложений или устройств, которые просят вас войти в свою учетную запись Google, используя только ваше имя пользователя и пароль, или отправлять почту напрямую, используя имя пользователя и пароль учетной записи Google. Но вы по-прежнему можете отправлять электронные письма через свою учетную запись gmail, используя генерацию пароля приложения.

Ниже приведены шаги для создания нового пароля.

  1. Перейдите на страницу https://myaccount.google.com/security.
  2. Включите двухэтапную проверку.
  3. При необходимости подтвердите свою учетную запись по телефону.
  4. Нажмите «Пароли приложений» чуть ниже галочки «Двухэтапная проверка». Запросите новый пароль для почтового приложения.

Теперь мы должны использовать этот пароль для отправки почты вместо исходного пароля вашей учетной записи.

Ниже приведен пример кода для отправки почты

      public static void SendMailFromApp(string SMTPServer, int SMTP_Port, string From, string Password, string To, string Subject, string Body) {            
            var smtpClient = new SmtpClient(SMTPServer, SMTP_Port) {
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                EnableSsl = true
            };                
            smtpClient.Credentials = new NetworkCredential(From, Password); //Use the new password, generated from google!
            var message = new System.Net.Mail.MailMessage(new System.Net.Mail.MailAddress(From, "SendMail2Step"), new System.Net.Mail.MailAddress(To, To));
            smtpClient.Send(message);
    }

Вы можете вызвать метод, как показано ниже

      SendMailFromApp("smtp.gmail.com", 25, "mygmailaccount@gmail.com",
          "tyugyyj1556jhghg",//This will be generated by google, copy it here.
          "mailme@gmail.com", "New Mail Subject", "Body of mail from My App");

Попробуй это,

    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

            mail.From = new MailAddress("your_email_address@gmail.com");
            mail.To.Add("to_address");
            mail.Subject = "Test Mail";
            mail.Body = "This is for testing SMTP mail from GMAIL";

            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password");
            SmtpServer.EnableSsl = true;

            SmtpServer.Send(mail);
            MessageBox.Show("mail Send");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

Использовать этот способ

MailMessage sendmsg = new MailMessage(SendersAddress, ReceiversAddress, subject, body); 
SmtpClient client = new SmtpClient("smtp.gmail.com");

client.Port = Convert.ToInt32("587");
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential("mail-id@gmail.com","MyPassWord");
client.Send(sendmsg);

Не забывайте это:

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

Изменение отправителя в Gmail / Outlook.com электронной почте:

Чтобы предотвратить подделку - Gmail/Outlook.com не позволяет отправлять сообщения с произвольного имени пользователя.

Если у вас ограниченное количество отправителей, вы можете следовать этим инструкциям, а затем установить From поле по этому адресу: отправка почты с другого адреса

Если вы хотите отправить с произвольного адреса электронной почты (например, форму обратной связи на веб-сайте, где пользователь вводит свою электронную почту, а вы не хотите, чтобы он отправлял вам электронные письма напрямую), лучшее, что вы можете сделать, это:

        msg.ReplyToList.Add(new System.Net.Mail.MailAddress(email, friendlyName));

Это позволит вам просто нажать "ответить" в своей учетной записи электронной почты, чтобы ответить поклоннику вашей группы на странице обратной связи, но они не получат ваше фактическое электронное письмо, которое, вероятно, приведет к тонне спама.

Если вы находитесь в контролируемой среде, это прекрасно работает, но, пожалуйста, обратите внимание, что я видел, как некоторые почтовые клиенты отправляли на адрес отправителя, даже когда указан ответ на запрос (я не знаю, какой именно).

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

namespace SendMailViaGmail
{
   class Program
   {
   static void Main(string[] args)
   {

      //Specify senders gmail address
      string SendersAddress = "Sendersaddress@gmail.com";
      //Specify The Address You want to sent Email To(can be any valid email address)
      string ReceiversAddress = "ReceiversAddress@yahoo.com";
      //Specify The password of gmial account u are using to sent mail(pw of sender@gmail.com)
      const string SendersPassword = "Password";
      //Write the subject of ur mail
      const string subject = "Testing";
      //Write the contents of your mail
      const string body = "Hi This Is my Mail From Gmail";

      try
      {
        //we will use Smtp client which allows us to send email using SMTP Protocol
        //i have specified the properties of SmtpClient smtp within{}
        //gmails smtp server name is smtp.gmail.com and port number is 587
        SmtpClient smtp = new SmtpClient
        {
           Host = "smtp.gmail.com",
           Port = 587,
           EnableSsl = true,
           DeliveryMethod = SmtpDeliveryMethod.Network,
           Credentials = new NetworkCredential(SendersAddress, SendersPassword),
           Timeout = 3000
        };

        //MailMessage represents a mail message
        //it is 4 parameters(From,TO,subject,body)

        MailMessage message = new MailMessage(SendersAddress, ReceiversAddress, subject, body);
        /*WE use smtp sever we specified above to send the message(MailMessage message)*/

        smtp.Send(message);
        Console.WriteLine("Message Sent Successfully");
        Console.ReadKey();
     }
     catch (Exception ex)
     {
        Console.WriteLine(ex.Message);
        Console.ReadKey();
     }
}
}
}

У меня была та же проблема, но она была решена путем перехода в настройки безопасности gmail и приложения " Разрешить менее безопасным". Код от Domenic & Donny работает, но только если вы включили этот параметр

Если вы вошли (в Google), вы можете перейти по этой ссылке и включить "Включить" для "Доступ к менее защищенным приложениям".

Один совет! Проверьте почтовый ящик отправителя, возможно, вам нужно разрешить менее безопасные приложения. См.: https://www.google.com/settings/security/lesssecureapps

После обновления Google это допустимый метод отправки электронной почты с использованием С# или .net.

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

namespace EmailApp
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            String SendMailFrom = "Sender Email";
            String SendMailTo = "Reciever Email";
            String SendMailSubject = "Email Subject";
            String SendMailBody = "Email Body";

            try
            {
                SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com",587);
                SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
                MailMessage email = new MailMessage();
                // START
                email.From = new MailAddress(SendMailFrom);
                email.To.Add(SendMailTo);
                email.CC.Add(SendMailFrom);
                email.Subject = SendMailSubject;
                email.Body = SendMailBody;
                //END
                SmtpServer.Timeout = 5000;
                SmtpServer.EnableSsl = true;
                SmtpServer.UseDefaultCredentials = false;
                SmtpServer.Credentials = new NetworkCredential(SendMailFrom, "Google App Password");
                SmtpServer.Send(email);

                Console.WriteLine("Email Successfully Sent");
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                Console.ReadKey();
            }

        }
    }
}

Для создания пароля приложения вы можете следовать этой статье:https://www.techaeblogs.live/2022/06/how-to-send-email-using-gmail.html

Google удалил настройку менее безопасных приложений из наших учетных записей Google, это означает, что мы больше не можем отправлять электронные письма с SMTP-сервера, используя наши фактические пароли Google. Нам нужно либо использовать Xoauth2 и авторизовать пользователя, либо создать пароль приложения для учетной записи с включенным 2fa.

После создания пароль приложения можно использовать вместо стандартного пароля Gmail.

      class Program
{
    private const string To = "test@test.com";
    private const string From = "test@test.com";
    
    private const string GoogleAppPassword = "XXXXXXXX";
    
    private const string Subject = "Test email";
    private const string Body = "<h1>Hello</h1>";
    
    
    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
        
        var smtpClient = new SmtpClient("smtp.gmail.com")
        {
            Port = 587,
            Credentials = new NetworkCredential(From , GoogleAppPassword),
            EnableSsl = true,
        };
        var mailMessage = new MailMessage
        {
            From = new MailAddress(From),
            Subject = Subject,
            Body = Body,
            IsBodyHtml = true,
        };
        mailMessage.To.Add(To);

        smtpClient.Send(mailMessage);
    }
}

Быстрое исправление для ошибки имени пользователя и пароля SMTP, не принятой

Попробуй это

public static bool Send(string receiverEmail, string ReceiverName, string subject, string body)
{
        MailMessage mailMessage = new MailMessage();
        MailAddress mailAddress = new MailAddress("abc@gmail.com", "Sender Name"); // abc@gmail.com = input Sender Email Address 
        mailMessage.From = mailAddress;
        mailAddress = new MailAddress(receiverEmail, ReceiverName);
        mailMessage.To.Add(mailAddress);
        mailMessage.Subject = subject;
        mailMessage.Body = body;
        mailMessage.IsBodyHtml = true;

        SmtpClient mailSender = new SmtpClient("smtp.gmail.com", 587)
        {
            EnableSsl = true,
            UseDefaultCredentials = false,
            DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
            Credentials = new NetworkCredential("abc@gmail.com", "pass")   // abc@gmail.com = input sender email address  
                                                                           //pass = sender email password
        };

        try
        {
            mailSender.Send(mailMessage);
            return true;
        }
        catch (SmtpFailedRecipientException ex)
        { }
        catch (SmtpException ex)
        { }
        finally
        {
            mailSender = null;
            mailMessage.Dispose();
        }
        return false;
}

Вот один из способов отправки почты и получения учетных данных из web.config:

public static string SendEmail(string To, string Subject, string Msg, bool bodyHtml = false, bool test = false, Stream AttachmentStream = null, string AttachmentType = null, string AttachmentFileName = null)
{
    try
    {
        System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], To, Subject, Msg);
        newMsg.BodyEncoding = System.Text.Encoding.UTF8;
        newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
        newMsg.SubjectEncoding = System.Text.Encoding.UTF8;

        System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
        if (AttachmentStream != null && AttachmentType != null && AttachmentFileName != null)
        {
            System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(AttachmentStream, AttachmentFileName);
            System.Net.Mime.ContentDisposition disposition = attachment.ContentDisposition;
            disposition.FileName = AttachmentFileName;
            disposition.DispositionType = System.Net.Mime.DispositionTypeNames.Attachment;

            newMsg.Attachments.Add(attachment);
        }
        if (test)
        {
            smtpClient.PickupDirectoryLocation = "C:\\TestEmail";
            smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory;
        }
        else
        {
            //smtpClient.EnableSsl = true;
        }

        newMsg.IsBodyHtml = bodyHtml;
        smtpClient.Send(newMsg);
        return SENT_OK;
    }
    catch (Exception ex)
    {

        return "Error: " + ex.Message
             + "<br/><br/>Inner Exception: "
             + ex.InnerException;
    }

}

И соответствующий раздел в web.config:

<appSettings>
    <add key="mailCfg" value="yourmail@example.com"/>
</appSettings>
<system.net>
  <mailSettings>
    <smtp deliveryMethod="Network" from="yourmail@example.com">
      <network defaultCredentials="false" host="mail.exapmple.com" userName="yourmail@example.com" password="your_password" port="25"/>
    </smtp>
  </mailSettings>
</system.net>

Вы можете попробовать Mailkit. Это даст вам лучшую функциональность для отправки почты. Вы можете найти больше из этого Вот пример

    MimeMessage message = new MimeMessage();
    message.From.Add(new MailboxAddress("FromName", "YOU_FROM_ADDRESS@gmail.com"));
    message.To.Add(new MailboxAddress("ToName", "YOU_TO_ADDRESS@gmail.com"));
    message.Subject = "MyEmailSubject";

    message.Body = new TextPart("plain")
    {
        Text = @"MyEmailBodyOnlyTextPart"
    };

    using (var client = new SmtpClient())
    {
        client.Connect("SERVER", 25); // 25 is port you can change accordingly

        // Note: since we don't have an OAuth2 token, disable
        // the XOAUTH2 authentication mechanism.
        client.AuthenticationMechanisms.Remove("XOAUTH2");

        // Note: only needed if the SMTP server requires authentication
        client.Authenticate("YOUR_USER_NAME", "YOUR_PASSWORD");

        client.Send(message);
        client.Disconnect(true);
    }

Это больше не поддерживается, если вы пытаетесь сделать это сейчас.

https://support.google.com/accounts/answer/6010255?hl=ru&amp;amp;visit_id=637960864118404117-800836189&amp;amp;p=less-secure-apps&amp;amp;rd=1#zippy=

При копировании из другого ответа указанные выше методы работают, но gmail всегда заменяет электронную почту "от" и "ответить на" действительной учетной записью отправляющего gmail. по-видимому, есть обходной путь, однако:

http://karmic-development.blogspot.in/2013/10/send-email-from-aspnet-using-gmail-as.html

"3. На вкладке" Учетные записи "нажмите на ссылку" Добавить свой адрес электронной почты ", а затем подтвердите его".

Или возможно это

Обновление 3: Читатель Дерек Беннетт говорит: "Решение состоит в том, чтобы войти в настройки Gmail: Учетные записи и" Сделать по умолчанию "учетную запись, отличную от вашей учетной записи Gmail. Это заставит Gmail переписать поле От с любым адресом электронной почты учетной записи по умолчанию адрес."

Если ваш пароль Google не работает, вам может потребоваться создать пароль для конкретного приложения для Gmail в Google. https://support.google.com/accounts/answer/185833?hl=en

Проблема для меня заключалась в том, что в моем пароле была черная косая черта "\", которую я скопировал, вставив, не осознавая, что это вызовет проблемы.

Другие вопросы по тегам