gpt4 book ai didi

sql - xp_smtp_sendmail 空格随机添加到html

转载 作者:太空狗 更新时间:2023-10-29 13:53:37 26 4
gpt4 key购买 nike

我有一个过程,我在其中生成带有链接的小型 html 文档,并通过 xp_smtp_sendmail 过程将其发送出去。链接根据查询结果生成,链接较长。这在大多数情况下都有效。但是,有时链接会由于在查询字符串变量名称中插入空格而中断,例如 &Na me=John。

这可能因电子邮件客户端而异(相同的链接在 Gmail 中有效,但由于空格可能在 comcast 中无效。空格似乎是随机插入的,因此在每个损坏的电子邮件链接中,空格可能会破坏其他查询字符串变量。当我这样做时从 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'

最佳答案

1 - 检查您生成的消息的长度,如果长度接近 4000 个字符,则切换到从文件发送。

2 - 在每个句子或段落之前插入 cr/lf 字符。

3 - 确保在标签打开之前和之后有 cr/lf(如果 smtp 服务器喜欢这样,则只有 lf)

4 - 与任何你需要的人讨论缩短嵌入链接的长度 - 这显然是不可持续的

5 - 询问 smtp 服务器上的任何配置选项,以允许您将电子邮件作为完全编码的二进制文件发送(需要 MIME header 和 Base64 编码)

6 - 寻找 xp_smtp_sendmail 的更新替代品,也许是 .NET xp

关于sql - xp_smtp_sendmail 空格随机添加到html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2315251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com