--配置文件地址
declare @file_pathname varchar(200);--文件名;
set @file_pathname = 'E:\07.公共文件夹\04资源申购\供应链本月资源申购.xlsx'
--配置邮件发送程序
DECLARE @ACCOUNT_ID INT,@ACCOUNT_NAME NVARCHAR(200),@EMAIL_ADDR NVARCHAR(MAX),@ITEM NVARCHAR(200)
--创建邮件帐户信息
SET @ACCOUNT_NAME = 'TEST'
SELECT @ACCOUNT_ID = ACCOUNT_ID FROM MSDB..SYSMAIL_ACCOUNT WHERE NAME=@ACCOUNT_NAME
IF (@ACCOUNT_ID IS NOT NULL)
BEGIN
EXEC MSDB.DBO.SYSMAIL_DELETE_ACCOUNT_SP @ACCOUNT_ID, @ACCOUNT_NAME
END
EXEC MSDB.DBO.SYSMAIL_ADD_ACCOUNT_SP
@ACCOUNT_NAME = @ACCOUNT_NAME, -- 邮件帐户名称
@EMAIL_ADDRESS = 'scop@unisinsight.com', -- 发件人邮件地址
@DISPLAY_NAME = '系统管理员', -- 发件人姓名
@REPLYTO_ADDRESS = NULL,
@DESCRIPTION = 'TEST',
@MAILSERVER_NAME = 'mail.unicloud.com', -- 邮箱服务器地址
@PORT = 587, -- 邮箱服务器端口
@USERNAME = 'scop', -- 邮箱用户名
@PASSWORD = 'Unis123456', -- 邮箱密码
@USE_DEFAULT_CREDENTIALS = 0,
@ENABLE_SSL = 0
--数据库配置文件
IF EXISTS( SELECT 1 FROM MSDB.DBO.SYSMAIL_PROFILE WHERE NAME = N'TEST')
BEGIN
EXEC MSDB.DBO.SYSMAIL_DELETE_PROFILE_SP @PROFILE_NAME = 'TEST'
END
EXEC MSDB.DBO.SYSMAIL_ADD_PROFILE_SP
@PROFILE_NAME = 'TEST', -- profile 名称
@DESCRIPTION = '数据库邮件配置文件' -- profile 描述
--用户和邮件配置文件相关联
EXEC MSDB.DBO.SYSMAIL_ADD_PROFILEACCOUNT_SP
@PROFILE_NAME = 'TEST', -- PROFILE 名称
@ACCOUNT_NAME = 'TEST', -- ACCOUNT 名称
@SEQUENCE_NUMBER = 1 -- ACCOUNT 在 PROFILE 中顺序
--配置发送对象
SELECT @EMAIL_ADDR='huang.tao02329@unisinsight.com'
SET @ITEM='供应链月度资源申购'
EXEC MSDB.DBO.SP_SEND_DBMAIL
@PROFILE_NAME = 'TEST', --配置名称
@RECIPIENTS =@EMAIL_ADDR, --接收邮件地址列表,可以多个,中间以分号分隔
@SUBJECT = @ITEM, --邮件主题
@file_attachments = @file_pathname, --附件
@body_format = 'HTML'