首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 2005 邮件发送有关问题

2013-09-28 
SQL 2005 邮件发送问题[解决办法]--1. 启用 SQL Server 2005 邮件功能。 use mastergoexec sp_configure s

SQL 2005 邮件发送问题

[解决办法]



--1. 启用 SQL Server 2005 邮件功能。 
use master
go
exec sp_configure 'show advanced options',1
go
reconfigure
go
exec sp_configure 'Database mail XPs',1
go
reconfigure
go
-- 2. 在 SQL Server 2005 中添加邮件帐户(account) 
exec msdb..sysmail_add_account_sp
        @account_name            = 'jgj'      -- 邮件帐户名称(SQL Server 使用)
       ,@email_address           = 'junchangqu@126.com' -- 发件人邮件地址
       ,@display_name            = null                      -- 发件人姓名
       ,@replyto_address         = null
       ,@description             = null
       ,@mailserver_name         = 'smtp.126.com'           -- 邮件服务器地址
       ,@mailserver_type         = 'SMTP'                    -- 邮件协议(SQL 2005 只支持 SMTP)
       ,@port                    = 25                        -- 邮件服务器端口
       ,@username                = 'juchang@126.com' -- 用户名
       ,@password                = '***'      -- 密码
       ,@use_default_credentials = 0
       ,@enable_ssl              = 0
       ,@account_id              = null
--3. 在 SQL Server 2005 中添加 profile 
exec msdb..sysmail_add_profile_sp @profile_name = 'dba_profile'      -- profile 名称 
                                 ,@description  = 'dba mail profile' -- profile 描述 
                                 ,@profile_id   = null
-- 在 SQL Server 2005 中映射 account 和 profile 
exec msdb..sysmail_add_profileaccount_sp  @profile_name    = 'dba_profile' -- profile 名称 
                                         ,@account_name    = 'jgj'     -- account 名称 


                                         ,@sequence_number = 1             -- account 在 profile 中顺序 
--5. 利用 SQL Server 2005 Database Mail 功能发送邮件。 
exec msdb..sp_send_dbmail @profile_name =  'dba_profile'     -- profile 名称 
                         ,@recipients   =  'jimmy.qu@landcn'  -- 收件人邮箱 
                         ,@subject      =  'SQL Server 2005 Mail 测试' -- 邮件标题 
                         ,@body         =  'Hello Mail!测试'   -- 邮件内容 
                         ,@body_format  =  'TEXT'      -- 邮件格式 
--6. 查看邮件发送情况: 
use msdb
go
select * from sysmail_allitems
select * from sysmail_mailitems
select * from sysmail_event_log
---------------------------------------------------
这个里面你只需要改的地方:
发件人邮件地址
邮件服务器地址
用户名
密码
这样就完全可以了


[解决办法]
sp_send_dbmail中用到@recipients参数,表示要向其发送邮件的电子邮件地址列表,以分号分隔。此参数的类型为 varchar(max),但不确信你的邮件服务器是否支持这么长的字符串或者是否允许20个收件人。<br />真有这么多人要收信,你还是在邮件服务器那边创建一个邮件组吧。
[解决办法]
发送的收件人是域内用户还是域外用户?

热点排行