I'm in the process of upgrading my web pages from asp classic to asp.net. My previous code used CDO to send emails.
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
This code works fine but I'd like to send emails from my asp.net pages. When I send from the .net pages, I get the error message: "No connection could be made because the target machine actively refused it xx.xx.xxx.xxx:2 "
My web.config settings:
开发者_运维知识库<system.net>
<mailSettings>
<smtp from="myemail@mydomain.com">
<network host="mail.mydomain.com" port="2"/>
</smtp>
</mailSettings>
</system.net>
And the section of code that is giving me the error:
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)
I'm rather new to .Net but I've searched for hours and can not come up with a reason why the old code works but the new doesn't. Thanks in advance for the help!
The SMTP server you want to reach is probably on port 25.
<network host="mail.mydomain.com" port="25"/>
This is different from the sendusing
directive.
精彩评论