当前位置:   article > 正文

sqlserver send email -- 以附件的形式发送生成的报告_sqlserver發郵件帶附件

sqlserver發郵件帶附件
  1. 打开数据库
    Management --> SQL Server Logs -->Database Mail 右键,configure Database Email, 出现一个弹窗,一路next, 一直到 填写profile name :具体步骤参考 : https://blog.csdn.net/afandaafandaafanda/article/details/41569779
    在这里插入图片描述2. add smtp accout:
    这里e-mail address可以随意填写,但是 @163.com 等地址,的server name, 一定要写对。也就是发件人的邮箱服务器名称。否则我估计会发不出去。但是发件人不存在是允许的,不会影响功能。
    在这里插入图片描述可以bai上网搜索一下,每个网站的邮件的服务器的名称是zhi不一样的,一般smtp是发送的,pop是接收的:
    例如:网易dao网易163免费邮
    接收服务器:pop.163.com
    发送服务器:smtp.163.com
    新浪免费邮箱
    接收服务器:pop3.sina.com.cn
    发送服务器:smtp.sina.com.cn
    搜狐邮箱
    接收服务器:pop3.sohu.com
    发送服务器:smtp.sohu.com

出现错误 profile name is not valid?
一定是profile name 还没有注册,但我不知道在哪里注册,只能上网找一步一步查。于是在Wizard里找到答案了,也就是在1这里建立好profile 才行,
在这里插入图片描述

3.运行脚本,

use BLACKLIST_NMS
go


exec sp_configure 'xp_cmdshell',1
reconfigure
EXEC xp_cmdshell 'MKDIR "D:\Temp\"' 

DECLARE @stmt_c VARCHAR(8000);
SET @stmt_c=
    'BCP '+
    '"SELECT  top 1 * FROM '+QUOTENAME(DB_NAME())+'.dbo.tablename" '+
    'QUERYOUT "D:\Temp\filename.xls" '+
    '-w -t, -T -S ';
	-- print @stmt_c
EXEC master.sys.xp_cmdshell @stmt_c;

EXEC msdb.dbo.sp_send_dbmail
    @profile_name =N'MyTestMail',
	@recipients = 'XXX@163.com', 
	@subject = 'test email',
	@file_attachments='D:\Temp\filename.xls';

exec master..xp_cmdshell 'del "D:\Temp\filename.xls"'
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/728390
推荐阅读
相关标签
  

闽ICP备14008679号