关于使用SQL Server2008的Database Mail发送邮件,如何设置SMTP的问题.

aqbeyond 2010-04-21 02:18:36
各位好,请问使用Database Mail发送邮件,使用Database Mail Configuration Winzard,怎么设置里面的Outgoing mail server(SMTP)呢?
如果我把里面Account的Server name设置为localhost,使用本地SMTP地址,是可以发送成功的.
但是如果改成本地机器的IP地址,就不能发送出去,报错:由于目标机器积极拒绝 无法连接.
...全文
2280 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
blueeyesfish 2011-06-13
  • 打赏
  • 举报
回复
一个用Hotmail邮箱配置DBmail的例子,希望能帮到你,如果你用的是domain环境就不一样了。

Using Live/Hotmail/MSN for SQL Server 2008 Database Mail
http://blogs.msdn.com/b/billramo/archive/2009/03/29/using-live-hotmail-msn-for-sql-server-2008-database-mail.aspx
wyx100 2011-01-13
  • 打赏
  • 举报
回复
使用msdb.dbo.sp_send_dbmail发送邮件
Austindatabases 2010-07-16
  • 打赏
  • 举报
回复
这个和你的DNS设置有关系
zlp321002 2010-06-25
  • 打赏
  • 举报
回复
1、首先你先设置你的邮件开启 SMTP服务器功能,注意是你的邮件功能需要支持,和数据库无关。
比如:sina的,在我的应用-管理-POP/SMTP (启用)

2、然后启用数据库的邮件服务,如下:


use master
go
exec sp_configure 'show advanced options',1
go
reconfigure
go
exec sp_configure 'Database mail XPs',1
go
reconfigure
go


3、在 SQL Server 2008 中添加邮件帐户(account)
exec msdb..sysmail_add_account_sp
@account_name = 'SQLServer2008Server'-- 邮件帐户名称(SQL Server 使用)
,@email_address = 'XXX@sina.com' -- 发件人邮件地址
,@display_name = 'XXX' -- 发件人姓名
,@replyto_address = null
,@description = null
,@mailserver_name = 'smtp.sina.com.cn' -- 邮件服务器地址
,@mailserver_type = 'SMTP' -- 邮件协议
,@port = 25 -- 邮件服务器端口
,@username = 'XXX@sina.com' -- 用户名
,@password = 'XXX' -- 密码
,@use_default_credentials = 0
,@enable_ssl = 0
,@account_id = null
--3. 在 SQL Server 2008 中添加 profile
exec msdb..sysmail_add_profile_sp @profile_name = 'dba_profile' -- profile 名称
,@description = 'dba mail profile' -- profile 描述
,@profile_id = null
-- 在 SQL Server 2008 中映射 account 和 profile
exec msdb..sysmail_add_profileaccount_sp
@profile_name = 'dba_profile' -- profile 名称
,@account_name = 'SQLServer2008Server' -- account 名称
,@sequence_number = 1 -- account 在 profile 中顺序

--最后你就可以利用 SQL Server 2008 Database Mail 功能发送邮件。
exec msdb..sp_send_dbmail @profile_name = 'dba_profile' -- profile 名称
,@recipients = 'XX@hotmail.com' -- 收件人邮箱
,@subject = 'SQL Server 2008 Mail 测试' -- 邮件标题
,@body = 'Hello Mail!测试内容' -- 邮件内容
,@body_format = 'TEXT' -- 邮件格式




If you have any more questions, please feel free to ask.




老黎 2010-06-25
  • 打赏
  • 举报
回复
使用msdb.dbo.sp_send_dbmail发送邮件
asus09345 2010-06-02
  • 打赏
  • 举报
回复
XP上的smtp是ii5自带的吧?
你的xp的防火墙配置是怎样的?
如果你不会配置就先关掉防火墙,再试。
aqbeyond 2010-04-27
  • 打赏
  • 举报
回复
是的,现在就想知道,如何配置XP的SMTP服务器.
概念不太清楚.有详细的资料请介绍一下.
obuntu 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 aqbeyond 的回复:]

各位,是在SQL SERVER2008环境下用Database Mail发送邮件,楼上没答对重点啊!
[/Quote]

那估计是你的邮件服务器设置有问题。。
跟数据库邮件没关系。
lyg__wangjian 2010-04-26
  • 打赏
  • 举报
回复
帮顶 拿分= =||
aqbeyond 2010-04-21
  • 打赏
  • 举报
回复
各位,是在SQL SERVER2008环境下用Database Mail发送邮件,楼上没答对重点啊!
dawugui 2010-04-21
  • 打赏
  • 举报
回复
以下文章仅供参考:
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 master..xp_sendmail 'test@163.com','Hello,World!'


3 好了,去你的邮箱收邮件去吧!


注意事项:以上的配置过程要求以MSSQLSERVER服务采用的Windows帐号登录Windows 2000 Server,即你登录计算机所采用的帐号要和MSSQLSERVER服务采用的Windows帐号相同。
htl258_Tony 2010-04-21
  • 打赏
  • 举报
回复
参考: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
dawugui 2010-04-21
  • 打赏
  • 举报
回复
不懂,帮顶,学习,蹭分.
AspNetForums 的汉化版和改写版,主要改写在于: 1、修改了邮件发送程序,设计了可发送需要身份验证的邮件发送组件。 2、设计了一个统一用户群组件(OneUsers.dll),只要你使用 OneUsers 的用户群(数据库可以使用我们的也可以使用你们自己的,我们提供 OneUsers 的数据库的 SQL 脚本),用户只要在加入本站用户群的任何一个论坛注册一次,就可以在其他论坛以同样的帐号登陆。 比如,你在 www.chinamvp.org 注册一次,那么你也可以用此帐号在 www.onebbs.net 登陆,而无需再次注册。 安装文档 1、必须安装MS SQL SERVER 2、必须安装.Net Framework + IIS 1、安装 MS SQL SERVER 论坛数据库文件 首先在 查询分析器里执行 aspnetforums_oneuser1.0.sql脚本安装论坛数据库 然后是 CreateDefaultData1.0.sql 安装默认数据 oneuser1.0.sql 是我们统一使用的用户群库,你可以不安装,而是使用我们的默认数据库,这个默认数据库在我们的服务器上。 如果你是英文系统 请执行 aspnetforums_oneuser1.0forEnSqlServer.sql 和 oneuser1.0forEnSqlServer.sql 但是不能保证论坛 能够正常执行 2、设置 AspNetForums 里的web.config aspnetforums数据库 用户名和密码 oneuser数据库 用户名和密码,你可以删除他或者注释掉,那么就是默认使用我们服务器上的统一用户库 3、设置邮件服务器 把以上的 yourhost.com 改成你的邮件服务器 如果需要验证,请设置 UserName,否则 删除或者注释掉 4 、设置IIS,在你的web站点里设置一个虚拟目录 其物理目录指向 AspNetForums 目录。 5、解决方案 EngineAspNetForums.sln 6、管理员帐号: user:admin pwd:admin

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧