Anjani Rawat Ответов: 1

Как отправить почту через мой локальный сервер IIS с помощью VB.NET


Когда я отправляю электронную почту с помощью visual studio 2013, она работает, но тот же код не работает в visual studio 2015.

Пожалуйста, Помогите !
Я также пытался изменить порт нет, но не работает.
Любой будет оценен по достоинству, заранее спасибо

Что я уже пробовал:

Dim s как строка
s = vbNewLine
Dim targetURL как строка
targetURL = "http://xyz.aspx"
Dim клиент как новый SmtpClient()
клиент.Хост = "abc.mail.com"
Dim sendTo как новый почтовый адрес("wer.mail.com")
Дим от А почтовый адрес = новый адрес электронной почты("qwe.mail.com")
Тусклое Сообщение Как Новый MailMessage(from, sendTo)
сообщение.IsBodyHtml = True
сообщение.Тема = " Повторное Утверждение"
' сообщение.SubjectEncoding
Тусклое тело как струна

body = "Уважаемый сэр" & vbCrLf &
"Я хотел бы сообщить вам, что" & amp; Space(2) & "" & cmbdropdownlist.Текст &ампер; "" &амп; Космос(2) &ампер; "уже ушел из" &амп; Космос(2) &ампер; "" &амп; cmbUnit.Текст & "" & vbCrLf &
"и хочет воссоединиться" & vbCrLf &
"Итак, Пожалуйста, примите надлежащие меры по этому поводу с помощью приведенной ниже ссылки". & vbCrLf &
""& targetURL & "" & vbCrLf &
"Спасибо и с уважением" & vbCrLf &
" РЛР "
сообщение.Тело = тело
'Используйте ту же учетную запись в приложение.config для проверки подлинности.
клиент.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Сеть
Дим basicAuthenticationInfo, так как новая система.Нет.А networkcredential("qwe.mail.com", "ственностью")
клиент.UseDefaultCredentials = False
клиент.Учетные данные = basicAuthenticationInfo
клиент.Порт = 25

клиент.EnableSsl = True

- Попробуй
клиент.Отправить сообщение)
MsgBox("информация о воссоединении успешно отправлена старшему", MsgBoxStyle.Информация)

Afzaal Ahmad Zeeshan

Итак, что же это за сообщение об ошибке, которое вы получаете?

Anjani Rawat

Необработанное исключение типа "System. Net.Mail. SmtpException" произошло в System.dll

Afzaal Ahmad Zeeshan

А сообщение перед этим: сбой отправки почты? Или что?

Anjani Rawat

Да, то же самое сообщение "сбой отправки почты" также приходит, ниже ошибки meassage

Как это :

Необработанное исключение типа "System. Net.Mail. SmtpException" произошло в System.dll

"Сбой отправки почты"

1 Ответов

Рейтинг:
1

Afzaal Ahmad Zeeshan

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

' You should use a using statement
Using client As New SmtpClient("<smtp-server-address>", 25)
	' Configure the client
	client.EnableSsl = True
	client.Credentials = New NetworkCredential("<username>", "<password>")
	' client.UseDefaultCredentials = true;

	' A client has been created, now you need to create a MailMessage object
	' From field
	' Recipient field
	' Subject of the email message
		' Email message body
	Dim message As New MailMessage("from@example.com", "to@example.com", "Hello", "World!")

	' Send the message
	client.Send(message)

	' 
'    * Since I was using Console app, that is why I am able to use the Console
'    * object, your framework would have different ones. 
'    * There is actually no need for these following lines, you can ignore them
'    * if you want to. SMTP protocol would still send the email of yours. 


	' Print a notification message
	Console.WriteLine("Email has been sent.")
	' Just for the sake of pausing the application
	Console.Read()
End Using

'=======================================================
'Service provided by Telerik (www.telerik.com)
'Conversion powered by NRefactory.
'Twitter: @telerik
'Facebook: facebook.com/telerik
'=======================================================

Код был захвачен и преобразован из моей статьи, Отправка электронных писем через .NET framework и общие проблемы-использование кода C# [^] и в конце этой статьи я расскажу о нескольких проблемах, и" неудачная отправка почты " - одна из них. В вашем коде я не вижу никаких проблем: 1) Нет http в имени хоста. 2) используется 25 портов. 3) Набор имени пользователя/пароля.

Проблема должна быть на сервере, убедитесь, что вам разрешено отправлять электронные письма; это будет под панелью управления SMTP-сервера. В противном случае попробуйте то же самое VB.NET код для любого другого провайдера; Gmail, Outlook и посмотреть результаты.


Anjani Rawat

Здравствуйте Afzaal,

У меня есть outlook, настроенный на моей машине, и он работает нормально, также общаясь с сервером, но меня беспокоит то, почему этот код дает вышеупомянутую ошибку в visual studio 2015 на другой машине, но отлично работает на visual studio 2013 на моей машине.


Пожалуйста, ознакомьтесь с этим вопросом.

Afzaal Ahmad Zeeshan

Опять же, поскольку проблема находится на другой машине, проблема будет связана с брандмауэром. Есть еще несколько вопросов, которые мы не можем рассматривать с этой позиции. Однако решение одно и то же: 1) Проверьте, разрешает ли брандмауэр связь. 2) Приложение может подключаться к серверу. 3) сервер позволяет осуществлять связь с помощью используемой учетной записи. Поскольку проблема не связана с аутентификацией (пока), вы можете проверить, разрешена ли учетная запись SMTP.

Есть и другие вещи, которые нужно изучить. :-)