2016-11-14 1 views
-1

Я делал клиент визуальной электронной почты с помощью Visual Basic 2010Ошибка при отправке сообщения электронной почты с Basic

Вот код для отправки сообщения электронной почты:

Try 
    Dim SmtpServer As New SmtpClient() 
    Dim mail As New MailMessage() 
    SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network 
    SmtpServer.EnableSsl = True 
    SmtpServer.Credentials = New Net.NetworkCredential("********@*********".Trim(), "*************".Trim()) 
    SmtpServer.Port = 456 
    SmtpServer.Host = "smtp.gmail.com" 
    mail = New MailMessage() 
    mail.From = New MailAddress("[email protected]") 
    mail.To.Add("************@******") 
    mail.Subject = TextBox1.Text 
    mail.Body = TextBox2.Text 
    SmtpServer.Send(mail) 
Catch ex As Exception 
    MsgBox(ex.ToString) 
End Try 
+0

Что вы исключение? –

+0

http://prntscr.com/d7kujb – Raff64spr

+1

Пожалуйста, не публикуйте ошибки/исключения в качестве изображения. Скопируйте текст исключения и отредактируйте сообщение. –

ответ

0

порт SMTP для GMAIL является 465 не 456

Gmail имеет 2 порта SMTP, если у вас нет учетной записи G-Suite, в которой порт 25 становится доступным.

порт 465 (SSL) Порт 587 (TLS)

Если вы программируете в вашем доме, большинство провайдеров INTERNET блок SMTP Отправка порты.

Так что первое, что вы должны сделать, это убедиться, что вы можете подключиться через TELNET

Откройте командную строку и введите:

telnet smtp.gmail.com 465 
telnet smtp.gmail.com 587 

Если вы можете подключиться к Telnet портов, то вы должны иметь возможность заставить ваш код работать, чтобы отправлять почту через него.

сетевые учетные данные должны быть вашим Gmail счета:

SmtpServer.Credentials = New Net.NetworkCredential("********@*********".Trim(), "*************".Trim()) 

Так что я предполагаю, что это больше похоже на:

SmtpServer.Credentials = New Net.NetworkCredential("[email protected]", "Password") 
+0

я поменял порты, но все еще не работал – Raff64spr

+0

Я обновил свой ответ – Henry

Смежные вопросы