欢迎访问宙启技术站
智能推送

使用Python实现垃圾邮件黑名单功能

发布时间:2024-01-07 10:36:35

在Python中,可以使用正则表达式来实现垃圾邮件黑名单功能。下面是一个使用正则表达式和Python的示例代码,该代码检查一封电子邮件是否在黑名单中:

import re

# 定义一个黑名单列表
blacklist = [
    r'.*@example\.com$',  # 匹配以@example.com结尾的邮箱地址
    r'^spam.*$',  # 匹配以spam开头的字符串
    r'viagra',  # 匹配viagra字符串
]

def is_spam(email):
    for pattern in blacklist:
        if re.match(pattern, email):
            return True
    return False

# 使用例子
email1 = 'spam@example.com'
email2 = 'good@example.com'
email3 = 'username@gmail.com'

print(is_spam(email1))  # 输出: True
print(is_spam(email2))  # 输出: False
print(is_spam(email3))  # 输出: False

在上面的代码中,我们定义了一个blacklist列表,其中包含了几个正则表达式模式,用于匹配垃圾邮件的特征。然后,我们定义了一个is_spam函数,该函数使用re.match函数在给定的电子邮件地址上逐个遍历黑名单中的模式。

如果遇到匹配项,is_spam函数将返回True,表示该电子邮件是垃圾邮件。否则,该函数返回False,表示该电子邮件是正常邮件。

最后,我们使用三个例子测试了is_spam函数。email1匹配了黑名单中的模式,因此返回True。email2没有匹配任何模式,返回False。email3也没有匹配任何模式,返回False

可以根据实际需求修改blacklist列表中的正则表达式模式,以适应不同的垃圾邮件特征。