问题标签 [sqlmail]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tsql - 存储过程间歇性调用 SQL 邮件
我有一个存储过程,它查看一个表以查找具有特定条件的新条目,并在找到时调用 SQL 邮件。一个作业每 15 分钟执行一次 sp。有时它会通过电子邮件发送新条目,但有时 SQL 作业会成功运行,但不会生成电子邮件——尽管我在 SSMS 中运行查询并在那 15 分钟范围内在表中找到新条目。我在调整/扩大时间参数后手动运行了该过程,它成功生成了计划作业运行时最初未发送的电子邮件,但报告运行成功。
我对来自其他表的通知使用了类似的代码,它们似乎始终如一地生成电子邮件,但是另一个查看同一个表的不同标准的 sp 也间歇性地生成电子邮件。
我通过将所有参数移动到 WHERE 语句而不是对其中一些参数使用 GROUP BY 和 HAVING 来调整我的代码。我还将时间范围向后移动了 15 分钟(<=31 和 >=15),或者在没有解决方案的情况下删除了最小时间参数。
我不确定问题出在我的代码、执行 sp 的作业、SQL 邮件,还是我正在查询的表(我使用的日期列是 datetime 数据类型)、SQL 版本、补丁级别等。任何想法从哪里开始寻找为什么它有时而不是其他人调用邮件?
ANSI_NULLS 和 QUOTED_IDENTIFIER 为 ON
这是一个在添加新记录时似乎始终如一地生成电子邮件的示例(实际上在同一个存储过程中):
这是另一个代码,它也间歇性地生成电子邮件,但使用相同的主表 - 没有所有连接:
sql - 由于 sql server 2012 中的邮件服务器故障,DB Mail 无法向收件人发送邮件
我尝试发送数据库邮件,但出现以下问题。
由于邮件服务器故障,无法将邮件发送给收件人。(使用帐户 3 (2018-11-13T13:05:31) 发送邮件。
异常消息:无法连接到邮件服务器。(连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接的主机没有响应,建立连接失败。)
我已经按照谷歌搜索中的建议进行了一些配置,但仍然出现同样的问题。
以下是我到目前为止执行的步骤。
- 我已启用 is_broker_enabled
- 为 465 和 587 端口启用入站和出站规则
运行以下存储过程
sp_configure '显示高级选项', 1;
去
重新配置;
GO
sp_configure '数据库邮件 XPs', 1;
去
重新配置
去
sql-server - SQL 数据库邮件服务
在 SQL Server 中,我编写了一个脚本,用于从 SQL 数据库发送邮件,我使用 xml 将数据转换为正确的表格格式。现在我希望通过多个查询在邮件中显示多个表。附上一些示例文档以供参考,请找到它并让我知道如何获得所需的输出。还附上了所需的输出示例,请告诉我是否有人找到解决方案
sql-server - 无法清除 SQL Server sysmail 队列
昨晚由于一些错误的代码,我的 SQL Server 尝试发送一百万封电子邮件。10k 之后,电子邮件开始进入队列。我立即使用 exec sysmail_stop_sp 停止了 sysmail 服务。
sysmail_allitems
然后我从、sysmail_faileditems
、sysmail_send_retries
和sysmail_senditems
中删除了所有条目sysmail_unsentitems
。
我也清零了sysmail_event_log
。
假设它会清除我的邮件队列,我使用启动 sysmail 服务
但令我惊讶的是,sysmail 仍在尝试发送电子邮件,但在sysmail_allitems
.
我使用检查了邮件队列msdb.dbo.sysmail_help_queue_sp
,它显示了队列类型为“邮件”的队列,显示了那百万封电子邮件队列。
我重新检查了所有的桌子,它们都是空的。这个队列在哪里被提取?
虽然没有发送电子邮件,但服务器仍然尝试了持续几个小时的每一封电子邮件。
知道从哪里获取队列吗?
sql-server - 从 SQL Server 发送邮件时从表中动态获取值
我有一张桌子:
当我执行查询时,我收到了主题为 的邮件'MyData+format(getdate(),'yyMMdd')+.CSV'
,但我想要输出为'MyData20200317.CSV'
.
我不想合并表外的日期字段,我绝对希望功能应该在表中,我们应该处理数据并得到结果。
笔记:
如果可以更改表中的值意味着,那也很好。但是应该从表中选择值。
我希望这是可行的。提前致谢。
sql-server - 由于使用office 365的邮件服务器故障(SQL),邮件无法发送给收件人
我已经执行了以下操作。
得到错误。有时它有效,即;邮件成功执行。有时发生错误。错误信息如下。
sql-server - SQL Server 邮件不可靠
我们有一个 SQL Server 2016 标准版。一年前,我在上面设置了 SQL 邮件服务(帐户 + 配置文件),效果很好(帐户:smtp.office365.com:587,SSL,基本身份验证)。
自 2021 年 10 月 11 日以来,发送邮件一直存在问题。在许多情况下,发送邮件不起作用,我收到以下错误消息:
由于邮件服务器故障,无法将邮件发送给收件人。(使用帐户 3 (2021-10-27T18: 07:10) 发送邮件。异常消息:无法向邮件服务器发送邮件。(发送邮件失败。)。)
以下是 sysmail_allitems 表的摘录:
我不明白问题出在哪里,因为服务器发送了一次电子邮件,而另一次则没有。
您知道可能导致问题的原因吗?