Отправка писем на E-mail не работает - Visual Basic .NET
Формулировка задачи:
Всем здравствуйте.
Исследуя раздел форума "Готовые решения, полезные коды" наткнулся на задачу, которую давно хотел осуществить.
Отправлять почту по нажатию кнопки в приложении.
Пост: Visual Basic .NET FAQ. Готовые решения, полезные коды
Приложение сообщает, что сообщение не отправлено (вложения не прикреплял).
Вот мой код кнопки:
В принципе, мне нужно отправлять только один вложенный xls-файл (передача сведений диспетчеру). Сечас пользуемся сервисом Yandex. The Bat! и ThunderBird не работают - в корпорации свои правила. Идеальным был бы именно вариант "по кнопке" предложенный
Листинг программы
- #Region "Отправка сообщения"
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Dim EMail As New MailMessage
- Dim Smtp As SmtpClient
- Dim Drop() As String = Split(Files, "[SP]")
- Smtp = New SmtpClient("smtp.yandex.ru")
- Smtp.Port = 465 '587 попробовал менять, перед выдачей сообщения о неудаче увеличивается задержка, и только
- Smtp.Credentials = New Net.NetworkCredential("removed@mail.ru", "пароль ввожу правильно") 'Данные Вашей почты (отправителя)
- EMail.From = New MailAddress("removed@mail.ru", Subject.Text) ' Subject.Text здесь для красоты, по желанию можно убрать
- EMail.To.Add(New MailAddress("removed@mail.ru")) 'кому
- EMail.Body = Message.Text 'Основной текст
- EMail.Subject = Subject.Text 'Тема письма
- If Num > 0 Then
- For N = 0 To Num - 1
- EMail.Attachments.Add(New System.Net.Mail.Attachment(Drop(N)))
- Next
- End If
- Try
- Smtp.Send(EMail)
- MsgBox("Ваше сообщение отправлено. Спасибо!", MsgBoxStyle.Information)
- Catch ex As Exception
- MsgBox("Ваше сообщение не было отправлено. Пожалуйста, повторите попытку", MsgBoxStyle.Critical)
- End Try
- Me.Close()
- End Sub
- #End Region
AeroWhite
Решение задачи: «Отправка писем на E-mail не работает»
textual
Листинг программы
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim EMail As New MailMessage
- Dim Smtp As SmtpClient
- Smtp = New SmtpClient("smtp.yandex.ru")
- Smtp.EnableSsl = True
- Smtp.Port = 25 'попробовал менять, перед выдачей сообщения о неудаче увеличивается задержка, и только
- Smtp.Credentials = New Net.NetworkCredential("бла-бла@yandex.ru", "бла-бла") 'Данные Вашей почты (отправителя)
- EMail.From = New MailAddress("бла-бла@yandex.ru") ' Subject.Text здесь для красоты, по желанию можно убрать
- EMail.To.Add(New MailAddress("бла-бла@gt-parts.ru")) 'кому
- EMail.Body = "Тест" 'Основной текст
- EMail.Subject = "Тест" 'Тема письма
- Try
- Smtp.Send(EMail)
- MsgBox("Ваше сообщение отправлено. Спасибо!", MsgBoxStyle.Information)
- Catch ex As Exception
- MsgBox("Ваше сообщение не было отправлено. Пожалуйста, повторите попытку", MsgBoxStyle.Critical)
- End Try
- Me.Close()
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д