我正在尝试向存储在SQL Server数据库中的联系人发送电子邮件。电子邮件包含图像。
EXEC msdb.dbo.sp_send_dbmail<br/>
@recipients = 'name@address.com;',<br/>
@subject = 'Sending Mail from SQL Server Test',<br/>
@file_attachments = 'C:\inetpub\wwwroot\pagerror.gif',<br/>
@body=N'<img src="pagerror.gif" />',<br/>
@body_format = 'HTML';
但是一些电子邮件提供商(如雅虎)将发送的邮件视为垃圾邮件。我需要的是创建&lt; img&gt;标记类似于Outlook生成的标记:
&lt; img width = 482 height = 675 id =“_ x0000_i1025”src =“cid:image002.png@01CA4B5E.28AE48C0”&gt;
有了这个标签,雅虎不会将其视为垃圾邮件。如何处理图像,以便我可以像上面那样引用它?
我不是高级SQL Server程序员。我真的需要一个循序渐进的教程。请帮忙......
答案 0 :(得分:0)
如果图片位于另一台服务器上,而您只是在邮件中引用该图片,请按照Jonathans的评论。
如果发送图片作为附件很好,你可以使用这样的东西......
EXEC msdb.dbo.sp_send_dbmail
@recipients = 'name@address.com;',
@subject = 'Sending Mail from SQL Server Test',
@body_format = 'HTML',
@query = 'SELECT imageField FROM Person WHERE ID = 12345',
@execute_query_database = 'YourDatabase',
@attach_query_result_as_file = 1,
@query_attachment_filename = 'imageOfAPerson.jpg'
如果没有任何类型对您有益,您可以使用SQL Server的CLR功能并开发自己的代码来发送任意电子邮件。我相信你不知道怎么做,它可能相当复杂,但事实就是如此。没有简单的方法。