<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://communities.bentley.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Transmittal Server服务如何取消到期邮件提醒</title><link>https://communities.bentley.com/communities/other_communities/chinafirst/w/chinawiki/30049/transmittal-server</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Transmittal Server服务如何取消到期邮件提醒</title><link>https://communities.bentley.com/communities/other_communities/chinafirst/w/chinawiki/30049/transmittal-server</link><pubDate>Fri, 29 Jul 2016 04:19:14 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:c0623e68-9223-445c-9529-2b7437239474</guid><dc:creator>lijun.ma</dc:creator><comments>https://communities.bentley.com/communities/other_communities/chinafirst/w/chinawiki/30049/transmittal-server#comments</comments><description>Current Revision posted to 技术资料库 by lijun.ma on 7/29/2016 4:19:14 AM&lt;br /&gt;
&lt;p&gt;Transmittal服务的邮件提醒功能非常强大，但在应用中发现一旦邮件提醒功能在一段时间出现问题，等提醒功能恢复后，以前尚未发出的邮件会集中发送。这个可以理解，但有时用户往往希望在出问题时间段的邮件不用发送了，该如何解决呢？&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;答案是从数据库入手，邮件的发送会放在一个队列中，该队列本质上存于数据库表中，我们清空该表或设置某些记录的状态即可解决重复发送问题。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;trs_notification_subscribers表中的reminder_status为邮件的发送状态，当把reminder_status设为6则对应的邮件状态为&amp;ldquo;发送完成&amp;rdquo;从而不会再次发送。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;如果要修改某个时间段内的reminder_status则需要联合trs_notification_reminders表进行：&lt;/p&gt;
&lt;p&gt;DECLARE @thresholdDate DateTime&lt;/p&gt;
&lt;p&gt;SET @thresholdDate = &amp;#39;2016-09-01&amp;#39;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;UPDATE receivers&lt;/p&gt;
&lt;p&gt;SET&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;receivers.reminder_status = 6 -- 6 means compleated&lt;/p&gt;
&lt;p&gt;FROM&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dbo.trs_notification_subscribers receivers&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN dbo.trs_notification_reminders reminders ON receivers.reminder_id = reminders.id&lt;/p&gt;
&lt;p&gt;WHERE&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (reminders.reminder_date &amp;lt;= @thresholdDate)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (receivers.reminder_status &amp;lt;&amp;gt; 6)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: ProjectWise Transmittal&lt;/div&gt;
</description></item></channel></rss>