SQL Server笔记 -- 第67章:数据库邮件(DBMAIL)

67.1 发送简单邮件

以下代码向 recipient@someaddress.com 发送纯文本邮件:

sql 复制代码
EXEC msdb.dbo.sp_send_dbmail
  @profile_name = 'The Profile Name',
  @recipients   = 'recipient@someaddress.com',
  @body         = '这是从 SQL Server 发送的一封简单邮件。',
  @subject      = '简单邮件'

67.2 以附件形式发送查询结果

将查询 SELECT * FROM Users 的结果作为附件发送:

sql 复制代码
EXEC msdb.dbo.sp_send_dbmail
  @profile_name = 'The Profile Name',
  @recipients   = 'recipient@someaddress.com',
  @query        = 'SELECT * FROM Users',
  @subject      = '用户列表',
  @attach_query_result_as_file = 1

67.3 发送 HTML 邮件

版本 ≥ SQL Server 2012:

sql 复制代码
DECLARE @html VARCHAR(MAX);
SET @html = CONCAT(
  '<html><body>',
  '<h1>标题文本</h1>',
  '<p>段落文本</p>',
  '</body></html>'
)

版本 < SQL Server 2012:

sql 复制代码
DECLARE @html VARCHAR(MAX);
SET @html = '<html><body>'
          + '<h1>标题文本</h1>'
          + '<p>段落文本</p>'
          + '</body></html>'

使用 @html 变量发送:

sql 复制代码
EXEC msdb.dbo.sp_send_dbmail
  @recipients = 'recipient@someaddress.com',
  @subject    = 'HTML 内容',
  @body       = @html,
  @body_format = 'HTML'
相关推荐
悲伤小伞5 分钟前
Git_原理及使用_撤销修改_删除文件
数据库·git
ouliten6 分钟前
C++笔记:std::numeric_limits
c++·笔记
承渊政道8 分钟前
C++学习之旅【C++伸展树介绍以及红黑树的实现】
开发语言·c++·笔记·b树·学习·visual studio
fengxin_rou12 分钟前
一文读懂 Redis 集群:从哈希槽到透明访问
java·数据库·redis·算法·spring·缓存
m0_6356474815 分钟前
Qt开发与MySQL数据库教程(二)——MySQL常用命令以及示例
java·开发语言·数据库·mysql
顶点多余16 分钟前
数据库——对表的操作
数据库
程序员榴莲18 分钟前
MySQL (一):MySQL的安装与启动
数据库·mysql
咖啡の猫26 分钟前
Redis 通用命令
数据库·redis·bootstrap
IT界的老黄牛35 分钟前
【IT老齐230 笔记 + 思考】金融业容灾方案“两地三中心“是什么意思?
数据库·笔记·架构
aiAIman35 分钟前
OpenClaw 用户必修课:(三)Claude Code 单一聊天原则、Hooks 与 LSP
数据库·人工智能·开源·aigc