sqlserver邮件功能
附上:SQL2005 数据库邮件设置 SQL2005 中添加了数据库邮件功能,使用起来还是很方便地。 1、打开SQL Server 2005 外围应用配置器,选择“功能的外围应用配置器”,选择“数据库邮件”,勾选“启用数据库邮件存储过程”,点“确定”退出。 2、建立发送邮件的Sql server用户,例如mailuser ,给mailuesr添加权限,用户映射中添加msdb数据库的“DatabaseMailUserRole”权限。 3、打开 Sql Server Managerment Studio ,展开本地数据库下的“管理”,选择“数据库邮件”,右键选“配置数据库邮件”,填写配置项;例如,配置文件名:mail_Config,添加一个发送邮件的账户,也可以添加多个账户。按照配置步骤完成配置。 4、重复步骤3中,右键“数据库邮件”,选择“发送测试电子邮件”,填写发送的邮件地址发送。 以上就完成了数据库邮件的配置。下面看看简单的应用: 应用一、在作业完成后发送邮件通知 1、展开SQL server 代理,添加一个操作员,写上操作员的名字和Mail地址。 2、添加作业,配置作业的内容和步骤,选择“通知”,勾选“电子邮件”,后面选择刚才添加的操作员,后面选择“当作业失败时”,确定完成。 3、打开Sql server 代理的属性,选择“警报系统”,勾选“启动邮件配置文件”,“邮件系统”选择数据库邮件,“邮件配置文件”选择刚才创建的配置文件名,也就是“mail_Config”。确定完成。 4、一定要重启Sql server 代理,这点很重要,不然发不出邮件。我试了好长时间呢,就是因为没重启Sqlserver代理。 应用二、可以随时调用邮件存储过程发送邮件,也可以在程序中调用 在MSDB数据库中,发送邮件 ues MSDB go EXEC msdb..sp_send_dbmail 参数...... 后面有很多参数 @profile_name -- 数据库邮件配置名称 , @recipients -- 收件人列表,以分号分隔 , @copy_recipients -- 抄送人列表,以分号分隔 , @blind_copy_recipients -- 密件抄送人列表,以分号分隔 , @subject -- 邮件的主题, SQL Server Message , @body -- 邮件正文 , @body_format -- TEXT(默认) / HTML , @importance -- 邮件的重要性:Low / Normal / High , @sensitivity -- 邮件的敏感度:Normal / Personal / Private / Confidential , @file_attachments -- 附件的文件名列表,以分号分隔。必须使用绝对路径指定列表中的文件 , @query -- 要执行的查询,任何有效的Transact-SQL。查询结果可以作为文件附加,或包含在电子邮件的正文中。 , @attach_query_result_as_file -- 指定查询结果集是否作为附件返回,0-正文(默认) / 1-附件 , @query_attachment_filename -- 附件使用的文件名 , @query_result_header -- 指定查询结果是否包含列标题,0-不包含 / 1-包含(默认) , @query_result_separator -- 列分隔符,默认为空格 , @query_result_width -- 每列最大宽度 , @append_query_error -- query错误时发送电子邮件: 1-发送,错误消息包含在电子邮件的正文中。0-不发送电子邮件(默认) 察看发送情况 user MSDB go SELECT * FROM sysmail_allitems SELECT * FROM sysmail_mailitems SELECT * FROM sysmail_event_log |