發送電子郵件給具有唯一附加文件的多個收件人在SQL Server 2012中,我必須使用附件將郵件發送給多個收件人。收件人具有唯一的Id_no
,並根據該id_no
保存附件文件。因此匹配到id_no
附件必須被髮送。通過sql
任何人都可以幫我查詢嗎?
發送電子郵件給具有唯一附加文件的多個收件人在SQL Server 2012中,我必須使用附件將郵件發送給多個收件人。收件人具有唯一的Id_no
,並根據該id_no
保存附件文件。因此匹配到id_no
附件必須被髮送。通過sql
任何人都可以幫我查詢嗎?
有點凌亂,但會做的工作:
USE [msdb]
GO
--| Assuming that this is a format of your email_details table:
DECLARE @Recipient TABLE (Id_no INT, recipient_email nvarchar(200), subject nvarchar(200), body nvarchar(200));
DECLARE @List TABLE (ID int identity(1,1), Id_no int);
INSERT INTO @List (Id_no) SELECT Id_no FROM @Recipient;
DECLARE @i int = (SELECT MAX(ID) FROM @List);
DECLARE @File_Path nvarchar(max), @recipient_email nvarchar(200), @topic nvarchar(200), @txt nvarchar(200), @Id_no int, @file nvarchar(512);
WHILE @i > 0
BEGIN
SELECT @Id_no = (SELECT Id_no FROM @List WHERE ID = @i);
SELECT @recipient_email = recipient_email, @topic = subject, @txt = body,
@file = N'D:\attach\' + CAST(Id_no as nvarchar(16)) + N'.sql'
FROM @Recipient
WHERE Id_no = @Id_no;
EXEC sp_send_dbmail @profile_name = 'MailProfile', @recipients = @recipient_email, @subject = @topic, @body = @txt, @file_attachments = @file;
SET @i += 1
END
不能使用這個查詢不起作用 –
哪個位或什麼是錯誤? –
我無法上傳表結構來簡要解釋你的需求。將表名稱作爲email_table,其中包含2列p_id,email_id。本地驅動器根據與電子郵件ID相匹配的p_id no來具有文件 –
你可以讀到這個位置:[SQL數據庫郵件 - 發送郵件帶附件(https://blogs.msdn.microsoft.com/sqlagent/ 2010/11/10/sql-database-mail-send-emails-with-attachment /) –