日期:2014-05-18  浏览次数:20785 次

关于使用SQL Server2008的Database Mail发送邮件,如何设置SMTP的问题.
各位好,请问使用Database Mail发送邮件,使用Database Mail Configuration Winzard,怎么设置里面的Outgoing mail server(SMTP)呢?
如果我把里面Account的Server name设置为localhost,使用本地SMTP地址,是可以发送成功的.
但是如果改成本地机器的IP地址,就不能发送出去,报错:由于目标机器积极拒绝 无法连接.

------解决方案--------------------
参考:sql server 2000 中sql mail 邮箱设置2009-06-15 02:13何为sql server中sql mail 设置邮箱
1.使用 MSSQLServer 服务会用到的用户帐户登录到 Microsoft Windows NT® 4.0 或 Windows® 2000 上。该用户帐户必须是本地计算机的管理员和域帐户。
2.确认 Exchange Server 客户端 (Exchnge32.exe) 或 Microsoft Outlook? 客户端 (Outlook.exe) 能够连接到 Exchange Server 而且能够发送电子邮件。如果使用 Outlook,确保 Outlook 安装时选择了 "用于企业或工作组 "选项。
3.确认所用的 Exchange Server 配置文件中没有个人消息存储 (.pst)。Exchange Server 配置文件的名字不应超过 32 个字符。
4.在 "服务 "选项卡上,确认 Microsoft Exchange Server 和个人通讯簿是唯一可用的服务,然后单击 "发送 "选项卡。确认 "发送到 "框中选定的内容是 Exchange Server 中的邮箱,它应该有一个类似于 "邮箱 - <友好的用户名 > "的名字(其中 <友好的用户名 >是在第一步中登录到 Windows NT 4.0 或 Windows 2000 的用户名)。
5.要运行带有 Exchange Server 的 "SQL 邮件 ",MSSQLServer 服务必须在第一步中登录的同一个用户帐户下运行。在 "控制面板 "中,双击 "服务 ",选择 MSSQLServer 服务,然后单击 "启动 "。
6.确认 "SQL 邮件 "的配置文件是否正确。在 SQL Server 企业管理器中,展开服务器,展开 "支持服务 "文件夹,选择 "SQL 邮件 ",然后用右键单击。单击 "属性 ",然后在 "常规 "选项卡上,确保 "配置文件名 "框中指定的配置文件名正确。(事件探查器名必须与第三步中用到的配置文件名匹配。)单击 "测试 ",验证配置文件设置正确。
7.如果 "SQL 邮件 "无法启动(例如,显示错误信息指出配置文件不正确),请检查设置确保未将 Outlook Express 设置为默认的电子邮件客户程序。在 "控制面板 "中双击 "Internet "选项。在 "程序 "选项卡中,验证 Outlook Express 不在电子邮件组合框中。如果不得不将默认的电子邮件客户程序更改为 Outlook Express 以外的客户程序,那么,可能需要先验证 "SQL 邮件 "能够用邮件配置文件启动,然后再停止并重新启动 MSSQLServer 服务。 
在有些情况下,邮件的配置文件可能会损坏而且 "SQL 邮件 "将无法使用它。要更正这个问题,需要把配置文件复制到另一个文件名下,或重新创建配置文件。
8.如果用来启动 Microsoft SQL Server? 的帐户没有权限访问 Exchange 服务器,那么就无法使用 "SQL 邮件 "。执行 xp_cmdshell 来测试 SQL Server 对 Exchange Server 的访问权限,它执行与 "SQL 邮件 "相同的权限。使用下面的命令测试对服务器的连接,假定 Exchange Server 位于名为 "MyServer "的计算机上。

xp_cmdshell "NET USE \MyServerIPC$ "

如果这个命令无法正常执行,说明第三步未正确完成。
 
来源:http://hi.baidu.com/sz88886/blog/item/a5b228c354b1d7120ef477bb.html
------解决方案--------------------
以下文章仅供参考:
SQL code
SQL Server怎样配置发送电子邮件
ZDNet 软件频道 更新时间:2007-11-26 作者:21tx 来源:21tx
本文关键词:电子邮件 配置 数据库 SQL Server 
通常大家都知道:SQL Server与Microsoft Exchange Server集成性很好,关于这方面的配置,在SQL Server的联机帮助里有详细的说明,在此不再赘述。然而我们更关心的问题是:在没有Exchange Server的情况下,如何配置SQL Server利用Internet 邮件服务器发送邮件? 


    笔者曾为这问题伤透了脑筋,搜遍了互联网上的相关资料,发现仅有的几篇资料中有的是一笔带过,有的虽然介绍了操作步骤,可按照步骤一步一步操作下来,结果总是失败。为此笔者反复实验,终于找到一种简单有效的方法,不敢独自享受,下面是详细的配置步骤,如果您在操作的过程中碰到什么问题,请留言。 


    测试环境:


    1 Windows 2000 Server
    2 SQL Server 2000+SP3
    3 Microsoft OutLook (Office 2000)


    准备一个Internet邮件帐户:


    测试电子邮件帐户:test@163.com
    Smtp服务器 smtp.163.com
    pop3服务器 pop.163.com


    步骤一: 更改电子邮件配置


    1 打开Microsoft OutLook 单击“工具”菜单中的“选项”,然后单击“邮件服务”选项卡。
    2 单击“重新配置邮件支持”。
    3 选择“用于企业或工作组”选项
    4 重新启动Microsoft OutLook


    步骤二: 添加配置文件


    1 单击“工具”菜单中的“服务”,然后单击“添加”按钮。
    2 选择"Internet 电子邮件",单击“确定”。
    3 下面的步骤是设置电子邮件帐号,请参考Microsoft Outlook帮助文件,这里不再赘述。
    4 利用配置好的电子邮件帐号收发邮件,确认配置成功。


    步骤三: 配置MSSQLSERVER服务采用邮件配置文件


    1 重新启动MSSQLSERVER服务(必须的,否则MSSQLSERVER服务检测不到上一步骤添加的配置文件)
    2 打开企业管理器->展开服务器->支持服务->右击"邮件"->点击下拉框,你会发现
    "Microsoft Outlook Internet Settings"选项,点击"测试"。如果弹出表示成功的对话框,那恭喜你,已经 大功告成了。


    步骤四:享受你的劳动成果


    1 打开SQL Server的查询分析器


    2 输入下列SQL语句,执行
    exec