当前位置:   article > 正文

sql自动发邮件功能_sql 发送邮件

sql 发送邮件

用SQL自动发邮件需要三步
1,做一个配置文件
2,调用存储过程msdb.dbo.sp_send_dbmail
3, 创建作业

1,这里写图片描述
右键->【配置数据库邮件】
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

配置好了之后可以测试能否发送邮件
这里写图片描述

这里写图片描述

这里写图片描述

进去邮箱查看是否收到邮件或者数据库查询
select * from msdb.dbo.sysmail_allitems
这里写图片描述

2,接下来就编写发送邮件代码

EXEC msdb.dbo.sp_send_dbmail
@recipients='ganqw217ww@163.com',  --接收的邮箱
@body=N'测试sp_send_dbmail',  --正文
@body_format='HTML',    --正文格式
@subject='test',        --标题
@profile_name=N'sendEmail',  --配置文件,就是前面配置好的
@query='select * from dbAA.dbo.student', --查询
@attach_query_result_as_file=1,  --是否以附件发送
@query_attachment_filename='test.csv'  --附件文件名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

此段代码也可以在SQL里面执行,看看有没有保存,没有报错会提示‘邮件已排队’字样

3,新建作业
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

到了这里就好了,写的时候是参照前辈们的博客,真心感谢前辈,由于参考的很多前辈的文章,我就不列出来了,真心感谢。
在参照了前辈的文章之后,在自己真正做的时候还是会遇到很多问题的,所有还是想做个总结,以便以后忘记了可以看

附上遇到的问题,
1,所选用的邮件有些没有开启POP3/SMTP/IMAP
2,sina不行就换个163试试,再不行换换其他的
3,本人今天用163做了测试,后来就不行了,再后来在网页登录163邮箱发送邮件,提示“对不起,您今天发送的对象过多,请明日再试”
4,这个问题我也找了很久,就是用了@query再用作业就是不行,不用就可以,在SQL语句执行也可以,但是在作业里就是不行,后来的解决办法是在【安全性】->【用户】->NT AUTHORITY\SYSTEM 的属性->【服务器角色】勾选是sysadmin就可以了

因为是后面一帆风顺之后整理的,所以没有把遇到的错误描述粘出来

再次感谢前辈们的分享!!!有不足之处请多多指出。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/728400
推荐阅读
相关标签
  

闽ICP备14008679号