我正在处理需要根据用户订阅过滤所有外发电子邮件的情况。有 3 类时事通讯,以及已退订的人的黑名单。黑名单的数量约为60,000个电子邮件地址。
我们首先要使用常规的时事通讯系统(PHPList、Mailchimp、Industry Mailout 等)。但是,如果某些工作人员可能会意外地向已取消订阅的人发送外发电子邮件,则有些人表示担心。然后,系统管理员说他可以设置一个阻止外发电子邮件的传输规则,但问题是传输规则中有 8,192 个字符的限制,并且 60,000 个电子邮件地址不适合一个传输规则。
因此,唯一的选择是有一个传输规则来检查用户是否在分发列表(黑名单)的成员中,并且分发列表每天与 Powershell 脚本同步。黑名单分发列表的成员将每 24 小时从另一个通讯系统同步一次。
Set-TransportRule -Identity 'Blacklist' -Name 'Blacklist' -SubjectContainsWord 'Newsletter' -SentToMemberOf 'blacklist' -RejectMessageReasonText 'This person does not want to receive a newsletter' -RejectMessageEnhancedStatusCode '5.7.1'
import-csv blacklistunsubscribe.csv | foreach
{
$contact = New-MailContact -Name $_.PrimarySmtpAddress -ExternalEmailAddress $_.PrimarySmtpAddress -OrganizationalUnit "CASL"
Add-DistributionGroupMember -id 'blacklist' -member $contact
Set-MailContact -Identity $contact -HiddenFromAddressListsEnabled $true
}
问题:
1) 这将每 24 小时在 Active Directory 中同步超过 60,000 个对象(取消订阅的对象)。每天在 Active Directory 中同步这么多对象有什么影响?
2)你觉得这个方法怎么样?有没有更好的方法来做到这一点?你对应该做的事情有什么看法?