もし人々が不思議に思うのであれば、これはmhtmlをhtmlに変換してSQLを使用する方法です。
declare @source varchar(max),
@decoded varchar(MAX)
SELECT @source =BulkColumn
FROM OPENROWSET(BULK N'c:\test\test.mhtml',SINGLE_BLOB) x;
SET @source = SUBSTRING(@source,CHARINDEX('base64',@source,1)+10,LEN(@source))
SET @source = SUBSTRING(@source,1,CHARINDEX('-',@source,CHARINDEX('base64',@source,1)+10)-5)
SET @decoded = cast('' AS xml).value('xs:base64Binary(sql:variable("@source"))', 'varbinary(max)')
EXEC msdb.dbo.sp_send_dbmail
@profile_name = N'Email', -- you should use the profile name of yours, whatever is set up in your system.
@recipients = 'recipient_email_id',
@subject = 'Test',
@body = @decoded,
@body_format = 'html',
@from_address = 'sender_email_id';
お返事ありがとうございます。あなたが提案したものを試してみると、.mhtmlファイルのテキストが埋め込まれています(メモ帳で開いた場合のように表示されます)。私はIEでファイルを開いたときに見えるようにレポートを表示しません。 – Pops
最小限の例題の '.mhtml'ファイル(あなたのレポート)を投稿できますか?あなたは '@body_format = 'html''を設定しましたか? – ahoxha
どこに問題があるかわかります。ファイルがHTMLでMHTMLでない場合にのみ機能します。 – ahoxha