日期:2014-05-18  浏览次数:20617 次

利用sql发送邮件
需要利用sql发送邮件,但遇到一个瓶颈就是超过4000字符的限制。
求一个既利用sql发送邮件,又可以不受字符限制的方法。
环境如下:
一台专门的邮件服务器。一台专门的数据库服务器。

------解决方案--------------------
看看:如何在 SQL Server 中发送电子邮件
http://support.microsoft.com/kb/312839/zh-cn
------解决方案--------------------
当成附件发送


E. 发送大于 7,990 个字符的邮件
下例显示如何发送大于 7,990 个字符的邮件。由于 message 受 varchar 长度的限制(这样每行开销较小,像所有存储过程参数一样),下例将长消息写入由单个文本列组成的全局临时表中。然后使用 @query 参数通过邮件发送该临时表的内容。

CREATE TABLE ##texttab (c1 text)
INSERT ##texttab values ( 'Put your long message here. ')
DECLARE @cmd varchar(56)
SET @cmd = 'SELECT c1 FROM ##texttab '
EXEC master.dbo.xp_sendmail 'robertk ',
@query = @cmd, @no_header= 'TRUE '
DROP TABLE ##texttab