最近公司要实现一个邮件群发的功能,因此设计时就考虑用SQL Server的邮件发送功能直接推送邮件算了。

可是在实现的过程中,邮件内容中有一个表格的内容要展现,于是就编排了一个表格来实现。

具体实现如下:

set @tableHTML=

  N'<table border="1">'

+ N'<tr><th>经销商名称</th><th>县级类型</th>'

+ N'<th>县级城市</th><th>终端客户名称</th><th>联系人</th>'

+ N'<th>联络电话</th><th>抽查时间</th><th>联系电话是否准确</th>'

+N'<th>是否合作客户</th>'

+N'<th>联系人是否准确</th><th>终端客户资料是否准确</th><th>正确信息</th>'

+N'<th>终端客户订单响应时间</th><th>终端客户类型</th><th>终端客户信息修改时间</th></tr>'

+CAST((

 SELECT 

  td =isnull([CompanyName],'无'),''

 ,td =isnull([AreaType],'无'),''

 ,td =isnull([AreaName],'无'),''

 ,td =isnull([CustName],'无'),''

 ,td =isnull([Contacts],'无'),''

 ,td =isnull([Mobile_Tel],'无'),''

 ,td =isnull(convert(nvarchar(10),[SVDate],121),'无'),''

 ,td =isnull([IsContactTelRight],'无'),''

 ,td =isnull([IsCooperateClient],'无'),''

 ,td =isnull([IsContactsRight],'无'),''

 ,td =isnull([IsEndUserInfoRight],'无'),''

 ,td =case isnull([RightInfo],'无') when '' then '无' else [RightInfo] end,''

 ,td =isnull([EndUserOrderReplyTime],'无'),''

 ,td =isnull([CustChannelName],'无'),''

 ,td =isnull(Convert(nvarchar(19),[ClientInfoModifyTime],121),'无'),''

 FROM [TelSVEmailDetl] detl

 where SVDate=@SVDate 

     and detl.CompanyID=@CompanyID 

 FOR XML PATH('tr'),TYPE) AS NVARCHAR(MAX)) 

 + N'</table>'

看到上面标注为红色的联络电话了吧,其实以前要求是写成联系电话的,但是我换成联系电话了邮件就死活发送不了了。

无奈之下只好改成了联络电话,才将邮件发送了出去。这里必须感谢我们老祖宗给我们留下了博大精深的文化,改个字意义还是

一样的,如果是英文的说不定就傻眼了。虽然实现了功能,但是造成这个问题的原因一直没有寻找到,所以只好发文记录下,希

望看到此文的大神能够给解释下。

使用SQL Server发送邮件时遇到的诡异事件的更多相关文章

  1. 安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具

    已安装 SQL Server 2005,安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具 错误提示:已安装 SQL Server 2005 E ...

  2. 解决将Excel表导入到SQL Server数据库时出现Text was truncated or one or more characters had no match in the target code错误

    编写python爬虫程序可以在电商.旅游等网站上爬取相关评论数据,这些数据可以用于词云制作.感情词分析.提取关键词等,也可以将爬取下来的数据以自己的方式进行展示.评论数据爬取下来后,就要考虑怎样入库, ...

  3. Java运行环境eclipse配置环境变量 sql server登录时用的账户以及注册码

    2019/1/18 13:44:53a:右键点击计算机  →  选择属性  →  更改设置  →  点击高级  →  点击环境变量  →  创建名为JAVA_HOME的环境变量  →  将jdk所在的 ...

  4. SQL Server查询时添加一列连续的自增列

    SQL Server查询时添加一列连续的自增列 在SQL Server数据库中表信息会用到Identity关键字来设置自增列.但是当有数据被删除的话,自增列就不连续了.如果想查询出这个表的信息,并添加 ...

  5. 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连

    在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连 sql server服务器sqlserver远程连接数据库防火墙在建立 ...

  6. PCB SQL SERVER 发送邮件(异步改同步)

    采用SQL SERVER发送邮件是队列方式(异步)发送邮件,所以在我们执行发送邮件后,无法立即获取到邮件是否发送成功了,而在PCB行业实际应用中是需要立即获取发送邮件是否成功的状态来决定下一步逻辑该如 ...

  7. 删掉SQL Server登录时登录名下拉列表框中的选项

    问题: 我以前创建了一个登录名如kpi,之后在"安全性-登录名" 里删掉了,但是每次登录时,登录名的下拉框中总是能显示登录名kpi,怎么把它删掉呢? 解决方案: 1).SQL Se ...

  8. 使用SQL Server 发送邮件

    在很多数据分析和集成的场景下,我们需要了解数据库中关键的脚本或者job的执行情况.这个时候邮件提醒是一种比较不错的通知方式.本文从零开始,一步一步的介绍如何使用SQL Server来发送邮件. 环境: ...

  9. SQL server安装时显示重启计算机失败问题解决办法

    前几天在装SQL server2016的时候,一直显示重启计算机失败; 网上的方法也找来用了,但是重启完还是同样的问题,试了很多种方法,最后在一次测试中点关机的时候不小心点成了重启(win10有个毛病 ...

随机推荐

  1. Android自己定义View之仪表盘

    新建项目,新建DashBoardView继承自View实现OnGlobalLayoutListener接口,并重写OnDraw方法. 使用OnGlobalLayoutListener接口须要重写onG ...

  2. Linux网络编程:基于UDP的程序开发回顾篇

    基于无连接的UDP程序设计 同样,在开发基于UDP的应用程序时,其主要流程如下:   对于面向无连接的UDP应用程序在开发过程中服务端和客户端的操作流程基本差不多.对比面向连接的TCP程序,服务端少了 ...

  3. javascript中this的妙用

    this是javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用. this总是指向对象,并且为调用函数的那个对象: //调用普通函数 function f ...

  4. IntelliJ IDEA安装主题详细步骤

    主题下载网址:http://color-themes.com/?view=index 本文测试的软件版本:IntelliJ IDEA 2016.1.2 一.下载主题包   1 1. 打开上述网址(ht ...

  5. sql语句 case

    case: SELECT stdname, max( CASE WHEN stdsubject = '语文' THEN result ELSE 0 END) "语文", max( ...

  6. .NET 工具生成引擎概述

    Mark Michaelis 微软中国MSDN 过去几年大家一直都在使用 .NET Core(有这么久吗?)并且都知道“生成系统”经历了重大改变,不论是终止对 Gulp 的内置支持,还是放弃 Proj ...

  7. python 面向对象编程案例01

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #面向对象编程案例01 class Behave(): def __init__(self,name): se ...

  8. 转 PHP5+APACHE2.2配置

    初学php,配置起来老出问题,找了篇不错的帖子,一试就通过了,所以就顺带着转了过来. 不过在我安装phpMyAdmin的时候还是发现这篇文章的一个问题,就是php.ini如果放在system32下,启 ...

  9. 转 Linux下Nginx+PHP+MySQL配置

    Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定.低系统资源消耗而闻名,近几年Ng ...

  10. java中pojo、dao命名解释

    POJO::POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称. 使用POJO名称是为了避免和EJB ...