大规模的群发邮件造成Router内存用尽停止工作

问题

当用户发送带内嵌附件的邮件给大量收件人时,Router 任务挂起,不再投递邮件。在服务器的日志里,可以看到一个或多个以下错误:

"Router: Error transferring message X via Notes to serverX mail.box Insufficient memory"

"Unable to add note X to folder in Database X.nsf: Insufficient memory - NSF folder pool is full"

"Unable to add note X to folder in Database X.nsf: Insufficient memory"

"CD to MIME error (Process: Router (X), Database: /serverX/mailX.box, Note: X): Insufficient memory"

 
解答


   当Router任务试图发送一个大邮件给大量收件人时,Router会用完它的私有内存。带内嵌附件的邮件往往很大,所以容易引起这个问题。在这种情况下,可以看到如下私有内存块:
+75 xxx xxxxxxx PRCHDL BLK_OPENED_NOTE - NOTE pool for existing note
要避免这样的邮件阻塞整个服务器的邮件收发,可以在服务器的notes.ini中添加以下参数。

这些参数在 7.0.1 和 6.5.5 之后的版本中才有效。

RouterMaxEffectiveSize


   当启用此参数时,Router会计算邮件大小乘以收件人的数量,如果得出的结果超过这个参数的设置,Router会返回邮递失败报告给发件人。在计算邮件大小的时候附件是不算在内的。此参数的值的单位是KB。
例如,RouterMaxEffectiveSize=300000 表示邮件大小乘以收件人的数量必须小于300000KB。

 

RouterMaxEffectiveSizeIncAttach=1


当启用此参数时,计算邮件大小的时候会把附件的大小也计算在内。

注意:以上 notes.ini参数只对设置了它们的服务器生效。如果有多个邮件服务器,需要在每个服务器的notes.ini中都进行设置。

你可能感兴趣的:(职场,休闲,邮件群发,router停止,Router内存)