对于一个小型技术实验,我今天发现Apache James作为一个可能的平台。
[update-1] qmail、exim或postfix 会是更好的选择吗?是否有描述这些 MTA API 的教程? [/更新-1]
一般来说,mailet应该这样做:
- 发送e-amil 时,将每个元组映射
<FORM:TO>
到一个新的唯一 TO-address 并在原始 e-amil 中F(<FORM:TO>)
替换为FROM
F(<FORM:TO>)
- 收到电子邮件时,将 -address 映射回
TO
原始F(<FORM:TO>)
地址TO
并保存到其 maildrop - Wehn收到一封电子邮件,
F(<FORM:TO>)
无法映射的地方,将其保存到特殊的maildrop
F(.,.) 是源值和目标值之间的一对一函数。
示例:John@doe.com 发送电子邮件
John@doe.com
发送电子邮件至Allen@Never.com
- Mailet 这样做
- ... 将 FROM 重写为
23746237826384@doe.com
- ...
<John@doe.com,Allen@Never.com>
与23746237826384@doe.com
- ...永久保留此映射
示例:Allen@Never.com 向 John 发送电子邮件
Allen@Never.com
发送电子邮件至23746237826384@doe.com
- Mailet 这样做
- ... 将 FROM 地址识别
23746237826384@doe.com
为有效的 TO 地址Allen@Never.com
- ... 发送至 John@doe.com
示例:OtherUser@Allways.com 向分配给 Allen 的 John 的地址发送一封电子邮件
OtherUser@Allways.com
发送电子邮件至23746237826384@doe.com
- Mailet 这样做
- ... 无法将
23746237826384@doe.com
FROM 地址识别为有效的 TO 地址OtherUser@Allways.com
- ... 拒绝电子邮件
mailet API是否适合此要求?或者这样的操作不适合(因此需要代码或多或少地直接访问詹姆斯的课程)?
以防万一:我知道,这不会强制执行强大的安全性。然而,它可能会转移某些电子邮件垃圾邮件