我在从ASP.NET应用程序发送电子邮件时遇到问题。我不断收到错误消息:
“根据验证过程,远程证书无效。”
在此处和其他站点上进行研究,似乎所提供的证书不是我们的公共GoDaddy证书,当您从Internet端访问Exchange 2013服务器时,该证书涵盖了我们的外部域名。
在邮件服务器上的Exchange管理中心中,我可以在“证书”部分中看到各种条目:
Microsoft Exchange Server身份验证证书(分配给SMTP)
Microsoft Exchange(已分配给SMTP)
Exchange委派联合身份验证(已分配给SMTP,联合身份验证)
GoDaddy证书(分配给IMAP,POP,IIS,SMTP)
内部传输(分配给IMAP,POP,SMTP)
(除GoDaddy证书外,以上所有证书都是自签名的)
当我使用System.NET.Mail通过ASP.NET发送电子邮件时,正在使用上述哪种证书。我尝试使用端口25、465和587,但都收到相同的错误?
有没有一种方法可以将GoDaddy证书分配给上述所有条目,如果这样做,它将破坏任何内部电子邮件设置吗?
任何帮助。
Siv
附录:电子邮件发送代码:
Private Sub CreatePatrolsEmail(ByRef p As Patrols)
Dim mailto As New MailAddress("external@email.com")
Dim mailfrom As New MailAddress("internal@domainname.co.uk")
Dim message As New MailMessage(mailfrom, mailto), Msg As String = ""
Dim mailClient As New SmtpClient()
Dim UserAndPass As New NetworkCredential()
Dim ReplyAddress As String = ""
Dim Script = ""
Dim n As Integer = 0
Dim BodyText As String = ""
Try
message.Subject = "Issue relating to " & p.IssueDescription & "."
'Mail.SubjectEncoding = Text.Encoding.UTF8
BodyText = "This email is to bring to your attention the following issue:" & NNL
BodyText += "Building: " & p.Building & NL
BodyText += "Location: " & p.Location & NL
BodyText += "Issue:" & p.IssueDescription & NL
BodyText += "Additional Information:" & NNL
BodyText += p.AdditionalInfo & NNL
BodyText += "Sent from the Logging System." & NL
BodyText += "Date: " & Now.ToShortDateString & NL
BodyText += "Time: " & Now.ToShortTimeString
message.Body = BodyText
'send the message
mailClient = New SmtpClient("mail.domainname.co.uk", 587) 'specify the mail server address
mailClient.EnableSsl = True
mailClient.UseDefaultCredentials = False
mailClient.Credentials = New Net.NetworkCredential("internal@domainname.co.uk", "passwordtext")
mailClient.Send(message)
Catch ex As Exception
PEH("SendEmail", "frmA1Patrols", ex.Message)
Finally
mailClient.Dispose()
message.Dispose()
End Try
End Sub