Я в процессе обновления своих веб-страниц с asp classic до asp.net. Мой предыдущий код использовал CDO для отправки электронных писем.
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item(sch & "sendusing") = 2
.Item(sch & "smtpserver") = "mail.mydomain.com"
.update
End With
Set cdoMessage = CreateObject("CDO.Message")
strTo = "toaddr@mydomain.com"
strFrom = "fromaddr@mydomain.com"
strSubject = "email subject"
strBody = strBody & "This is the email body"
With cdoMessage
Set .Configuration = cdoConfig
.From = strFrom
.To = strTo
.Subject = strSubject
.HTMLBody = strBody
.Send
End With
Set cdoConfig = Nothing
Set cdoMessage = Nothing
Этот код работает нормально, но я хотел бы отправлять электронные письма со своих страниц asp.net. Когда я отправляю со страниц .net, я получаю сообщение об ошибке: «Невозможно установить соединение, потому что целевая машина активно отказала ему в этом.
Мои настройки web.config:
<system.net>
<mailSettings>
<smtp from="myemail@mydomain.com">
<network host="mail.mydomain.com" port="2"/>
</smtp>
</mailSettings>
</system.net>
И фрагмент кода, который дает мне ошибку:
Dim mailmsg As New MailMessage("myemail@mydomain.com", txtSubmitterEmail.Text)
mailmsg.Subject = "subject here"
mailmsg.Body = "mail body here"
mailmsg.IsBodyHtml = True
Dim smtp As New SmtpClient
smtp.Send(mailmsg)
Я довольно новичок в .Net, но искал несколько часов и не могу найти причину, по которой старый код работает, а новый - нет. Заранее спасибо за помощь!