利用SQLserver2005 发送邮件

    EXEC sp_configure 'show advanced options', 1
    GO
    RECONFIGURE
    GO
    EXEC sp_configure 'xp_cmdshell', 1
    GO
    sp_configure 'SQL Mail XPs', 1
    go
    exec sp_configure 'Ad Hoc Distributed Queries',1
    go
    reconfigure

    USE [master]  
    GO  
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1  
    GO  
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1  
    GO  
    EXECUTE msdb.dbo.sysmail_configure_sp 'MaxFileSize', '5242880';
    
    --下面这个例子是 动态向Excel里插入数据,并以附件的形式发送邮件
    --附件处理
    Exec master..xp_cmdshell 'del d:\data.xls' --删除上次发送的excel附件
    EXEC master..xp_cmdshell 'copy d:\File\data.xls D:\data.xls' --把excel模板拷贝到指定位置
    insert into 
    openrowset  ('Microsoft.ACE.OLEDB.12.0','excel 12.0;hdr=yes;database=d:\data.xls',' SELECT * FROM  [Data$]')  --把数据插入到excel指定sheet中
    select  * from  
    from Data
    
    --邮件发送
    EXEC msdb.dbo.sp_send_dbmail  
    @profile_name='FreshStockReference_Mail',--送信者
    @recipients='9875485@qq.com;4875324@qq.com',        
    --发送人:发送多个人用分号隔开 
    @copy_recipients='1234@qq.com;12451@qq.com',    
    --CC: 抄送  抄送多个人用";"分号隔开
    @body = '这里是邮件内容',            --邮件内容
    @file_attachments = 'd:\data.xls',   --发送附件的地址
    @subject = '这是邮件主题';           --主题

 

posted @ 2013-11-04 16:43  巴顿道儿  阅读(262)  评论(0编辑  收藏  举报