更改数据库中的电子邮件地址以使其无法送达



我需要更改用户的电子邮件地址以使其无法传递(永远不是真实地址(,但是它需要可逆,以便原始地址可见或至少可检索(无需将其存储在其他地方(。

例如,john@example.com -> NONAME_john@exampleNOTHING.com可能会起作用,因为它可以改回来。 但是,问题是我无法知道上述生成的地址不是真实的电子邮件地址。也许有一个真正的地址叫做 NONAME_john@exampleNOTHING.com。

要求是地址需要有效(包括"@"和".com"等(,但不会发送。

也许我的要求是矛盾的,因此不可能? 有人知道吗?

你的要求有点矛盾。使地址不可行的唯一方法是使其实际上无效。

请注意,"无效"可能至少意味着三件事;

  1. 它不会解析为电子邮件地址(例如,将@替换为(a((
  2. 该域的用户名无效
  3. 域名无效

关键是,对于 2 和 3,没有简单的方法可以确定是否是这种情况。


您还可以通过应用可逆转换来混淆电子邮件地址,例如 base64 编码它。这属于上述第1类。

例如在 Python 3 中:

In [1]: import base64 
In [2]: base64.b64encode('john@example.com'.encode('utf-8')) 
Out[2]: b'am9obkBleGFtcGxlLmNvbQ=='
In [3]: base64.b64decode(b'am9obkBleGFtcGxlLmNvbQ==').decode('utf-8') 
Out[3]: 'john@example.com'

相关内容

最新更新