ASP.NET通过Exchange Server发送电子邮件使用哪个服务器证书?

时间:2020-09-30 10:58:11

标签: asp.net vb.net ssl

我在从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

0 个答案:

没有答案
相关问题