xp_smtp_sendmail随机添加到html的空格

Igo*_*yev 8 html sql sendmail

我有一个proc,我生成带有链接的小html文档,并通过xp_smtp_sendmail proc发送出去.链接是根据查询结果生成的,并且很长.这适用于大多数情况.但是,由于空格被插入到querystring变量名中,有时链接会被破坏,即&Na me = John.

这可能因电子邮件客户端而异(相同的链接在Gmail中有效,但由于空格可能无法在comcast中使用.空间似乎是随机插入的,因此在每个损坏的电子邮件链接空间中可能会破坏其他查询字符串变量.当我从proc执行PRINT时链接很干净,没有空格.

这是我在main proc中执行的邮件proc的示例(获取查询结果并为@Message生成html).无论我是否编码网址,似乎都插入了空格.

预先感谢您的帮助.如果代码在这里没有正确显示,我可以发送更清晰的代码版本.

....上面的查询结果

SET @Message = NULL
SET @Message = @Message +
+ '<br/>Dear ' + @FirstName + ' ' + @LastName + ','
+ '<br/><br/>Recently you took "' + @Title + '". ' 
+ 'In response to the question "What is it?" ' 
+ 'you responded "' + @Response + '".' 
+ '<br/><br/>Following up on previous mailing'
+ '<br/><br/>Please click on the link below'
+ '<br/><br/><a href="' + @Link + '">Please click here</a>'
+ '<br/><br/>plain text'
+ '<br/><br/>plain text,'
+ '<br/><br/>plain text<br/>
plain text<br/>
plain text<br/>
plain text<br/>
plain text<br/>
plain text

EXEC @rc = master.dbo.xp_smtp_sendmail
 @FROM         = 'any@any.com',
 @FROM_NAME    = 'Any User',
 @TO           = @Email,
 @priority     = N'NORMAL',
 @subject      = N'My email',
 @message      = @Message,
 @messagefile  = N'',
 @type         = N'text/html', 
 @attachment   = N'',
 @attachments  = N'',
 @codepage     = 0,
 @server       = 'smtp.server.any'
Run Code Online (Sandbox Code Playgroud)

gbn*_*gbn 0

与价值观的联系有多长?

我的猜测是发生了一些换行并且换行符更改为空格。

由于值的长度不同,因此它看起来是随机的,因此分割是随机发生的。

另一个想法:你只需要<br>标签。<br />不需要(有或没有空间)并且可能会有所贡献