代码之家  ›  专栏  ›  技术社区  ›  Denis Valeev

如何使用Microsoft Exchange Server从Sql Server 2005/2008发送电子邮件?

  •  1
  • Denis Valeev  · 技术社区  · 14 年前

    我知道如何使用SQLServer的邮件数据库中的邮件探查器中指定的SMTP服务器发送邮件。

    你应该这样做:

    EXEC msdb.dbo.sp_send_dbmail  @profile_name = 'profile',
                                  @recipients = @email,
                                  @body = @body,
                                  @body_format = 'HTML',
                                  @subject = @subject
    

    但我不知道如何使用Microsoft Exchange发送邮件。

    更新1。

    更新2。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Heinzi    14 年前
    • 使用Exchange服务器的IP作为SQL Server中的STMP服务器,并
    • 配置Exchange Server的SMTP连接器以允许对SQL Server的IP进行中继。

    how to do this with Exchange Server 2003 and 2007 .

    :如果您按上述方式操作(允许中继),则不需要任何凭据。每道工序 在SQL Server的计算机上 将允许通过您的Exchange服务器发送邮件,而无需任何授权。

    telnet

    C:\>telnet ip-of-your-exchange-server 25
    220 your.domain Microsoft ESMTP MAIL Service, Version: 6.0.3790.4675 ready at  Thu, 2 Sep 2010 16:19:33 +0200
    EHLO heinzi
    250-your.domain Hello [192.168.3.1]
    250-TURN
    [...]
    250-XEXCH50
    250 OK
    MAIL FROM:<your@email.address>
    250 2.1.0 your@email.address....Sender OK
    RCPT TO:<some.other.address@outside.your.domain>
    

    在最后一行之后,您将收到两个答案中的任何一个。这意味着一切都很好:

    250 2.1.5 some.other.address@outside.your.domain
    

    554 5.7.1 <some.other.address@outside.your.domain>: Relay access denied
    
        2
  •  1
  •   Tim Coker    14 年前

    Exchange只是另一个SMTP服务器。您将您的配置文件指向服务器的具体信息,就完成了。我每天都在我的环境里做。您的Exchange实例是否因某种原因禁用了SMTP?