Отправка писем с помощью Gmail и C # / VB.Net больше не работает - PullRequest
2 голосов
/ 28 января 2012

Когда я пытаюсь отправить электронное письмо с помощью Gmail, используя VB.Net или C #, я получаю следующее сообщение: Ошибка отправки электронного письма. Была сделана попытка получить доступ к сокету способом, запрещенным его правами доступа. - Невозможно получить доступ к удаленному сервер. Я пытался использовать несколько учетных записей Gmail, включая код VB.Net, который работал в прошлом, например:

Message = New MailMessage(Sender, Recipient, Subject, MessageBody)

SMTPServer = New SmtpClient("smtp.gmail.com", 587)'Port 465 fails as well
SMTPServer.EnableSsl = True

SMTPServer.Credentials = New NetworkCredential("Username@gmail.com", "password")
SMTPServer.Send(Message)

(я знаю, что web.config может использоваться для многих из вышеперечисленных).

Очевидно, что Gmail изменил какую-то настройку или что-то подобное?

Ответы [ 4 ]

4 голосов
/ 29 января 2012

Это был Антивирус McAfee, предотвращающий отправку электронных писем. Спасибо за всю помощь, и извините за потраченное время.

3 голосов
/ 28 января 2012

Этот код отлично работает для меня:

try
     {
        MailMessage mail = new MailMessage();     //using System.Net.Mail namespace
        mail.To.Add("xyz@yahoo.com");             //Enter reciever's email address
        mail.From = new MailAddress("abc@gmail.com");  //Enter sender's email address
        mail.Subject = "Testing mail...";
        mail.Body = @"Lets-code ! Lets-code to make it simpler";
        mail.IsBodyHtml = true;                  //Body of mail supports html tags
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;
        smtp.Credentials = new System.Net.NetworkCredential("abc@gmail.com", "pwd");
        // Your gmail username and password   
        smtp.EnableSsl = true;            //Gmail uses a encrypted connection
        smtp.Send(mail);
        Response.Write("Mail Sent Successfully");
    }

catch(Exception ex)
    {  
        Response.Write(ex.Message);
    }

Если это не поможет, попробуйте на другом компьютере. Windows 7 имеет собственный брандмауэр. Проверьте это тоже.

1 голос
/ 24 мая 2015

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

1 голос
/ 28 января 2012

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

Imports System.Net.Mail

Protected Sub btnSendEmail_Click(ByVal sender As Object, ByVal e As EventArgs)
  Dim mail As MailMessage =  New MailMessage() 
  mail.To.Add("receiversmail@gmail.com")
  mail.From = New MailAddress("yourmail@gmail.com")
  mail.Subject = "Email using Gmail"

  String Body = "Sending mail using Gmail's SMTP"
  mail.Body = Body

  mail.IsBodyHtml = True
  Dim smtp As SmtpClient =  New SmtpClient() 
  smtp.Host = "smtp.gmail.com" 
  smtp.Credentials = New System.Net.NetworkCredential
       ("yourmail@gmail.com","password")
  smtp.EnableSsl = True
  smtp.Port = 587
  smtp.EnableSsl = true
  smtp.Send(mail)
End Sub

Попробуйте изменить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...