如何在html中嵌入图像并通过msdb.dbo.sp_send_dbmail将html作为电子邮件发送?

时间:2009-03-19 16:58:20

标签: sql html sql-server tsql

我可以使用msdb.dbo.sp_send_dbmail以html格式发送电子邮件。仅在格式方面对文本非常好。例如:

EXEC msdb.dbo.sp_send_dbmail
  @recipients = @p_recipients,
  @subject = @v_subject,
  @body=@emailHTML, 
  @body_format = 'HTML';

但是,如果我想在我的SQL服务器中包含从数据生成的趋势等图像,并将它们嵌入到html(@emailHTML)中,我应该使用什么html标签?

如果我使用[img]标签,那么我需要设置src属性。生成的图像保存在本地SQL Server的硬盘中。我可以把它们放在IS服务器网页区域。但是所有这些Web服务器都可以访问Intranet,但不能在我的工作之外。

有没有办法在电子邮件中嵌入图片?我如何设置html来嵌入图像?

我正在使用Microsoft SQL Server 2005.我更喜欢使用msdb.dbo.sp_send_dbmail将报告作为电子邮件发送出去。我对html格式有很多控制权。如果没有办法,我可能必须将图像作为附件发送。

1 个答案:

答案 0 :(得分:13)

我想我得到了答案:

EXEC msdb.dbo.sp_send_dbmail
   @recipients = 'myemail@someemail.com',
   @subject = 'test',
   @file_attachments = 'C:\MyFolder\Test\Google.gif;C:\MyFolder\Test\Yahoo.gif',
   @body=N'<p>Image Test</p><img src="Google.gif" /><p>See image there?</p>
        <img src="Yaoo.gif" /><p>Yahoo!</p>', 
   @body_format = 'HTML';

基本上,将图像添加为附件,src属性仅包含图像文件名,不需要任何路径。如果需要多个图像文件,只需使用“;”将它们分开。

我发送电子邮件到我的Outlook电子邮件,它的确有效。试试我的雅虎电子邮件......