<p>这是一件棘手的事情,很难或不可能正确地处理正则表达式,因为它很快就会失控。在设计过滤器时,你必须权衡对误报和漏报的关注,并根据自己的喜好做出任何决定。<strong>认为这种过滤器能100%工作是不正确的。</strong></p>
<p>根据您的要求,您应该决定:</p>
<ol>
<li>积极过滤,对一些人没有收到你的电子邮件,或者</li>
<li>根本不过滤,但删除从邮件列表中跳出的地址。在</li>
</ol>
<p>同样,这取决于您的需求,但我建议不要过滤。即使在电子邮件声誉受到关注的情况下,除非你发送的电子邮件地址是好的和坏的,否则这是更好的选择。在</p>
<hr/>
<h3>证明这一事实的几点</h3>
<p>与你发布的不同:</p>
<ol>
<li><code>admin@gmail.com</code>是非法地址</li>
<li><code>postmaster.@gmail.com</code>将接收邮件。在</li>
</ol>
<p>这表明,要把这类事情做好是非常困难的。我认为你不应该这么做。<strong>即使是“简单”和“显而易见”的事情,在电子邮件®这个古怪的世界里也不例外。</strong></p>
<ol>
<li><p>需要注意的是<a href="https://support.google.com/mail/answer/10313?hl=en" rel="nofollow">dots don't matter in gmail
addresses</a>。在</p>
<blockquote>
<p>Gmail doesn't recognize dots as characters within usernames, you can
add or remove the dots from a Gmail address without changing the
actual destination address; they'll all go to your inbox, and only
yours. In short:</p>
<pre><code>homerjsimpson@gmail.com = hom.er.j.sim.ps.on@gmail.com
homerjsimpson@gmail.com = HOMERJSIMPSON@gmail.com
homerjsimpson@gmail.com = Homer.J.Simpson@gmail.com
</code></pre>
</blockquote>
<p>对我的个人电子邮件的快速测试证实
前导点或尾随点遵循这一原则:</p>
<pre><code>homerjsimpson@gmail.com = .homerjsimpson@gmail.com
homerjsimpson@gmail.com = homerjsimpson.@gmail.com
homerjsimpson@gmail.com = homerjsimpson.....@gmail.com
</code></pre>
<p>工作,并被交付。</p></li>
<li><p><strong>您必须区分有效的Gmail用户名和有效的Gmail地址。它们不是一回事。</strong>
仅仅因为您不能为用户名注册特定的字符串并不意味着将同一个字符串放在<code>@gmail.com</code>前面不会发送电子邮件。在</p>
<p>其他几点:</p>
<ul>
<li>用户名必须至少包含6个字符。这意味着<strong><code>admin@gmail.com</code>实际上是一个非法地址</strong>。<code>bob@gmail.com</code>等也属于非法,尽管“明显合法”。在</li>
<li>用户名可以包含字母(a-z)、数字(0-9)、破折号(-)、下划线(Uu)、撇号(')和句点(.)
如果决定使用regex过滤器,则允许在用户名中使用这些组合。还有加号('+'),可能还有一些我们没有考虑过的字符。在</li>
<li><a href="http://en.wikipedia.org/wiki/Email_address" rel="nofollow">There are also max-length of username, total length of address constraints, and other constraints on emails in general.</a></li>
<li>加号不是Gmail<em>用户名的合法部分,但可以包含在Gmail<em>地址</em>中。<code>homerjsimpson+stackoverflow@gmail.com</code>将很高兴地交付给{<cd7>}。在</li>
</ul></li>
</ol>