IMAP:检测发送电子邮件的所有通用地址

时间:2014-12-10 14:41:18

标签: c# email gmail imap server

设置

我目前正在使用 gmail 轮询电子邮件发送到一个包含所有地址,其中@之前的字符串必须由系统处理。

我使用 IMAP 进行整合。

我的后端是.Net(不相关)

我的挑战

在同一邮件中写入多个电子邮件地址时,例如1 @ foo.com,2 @ foo.com和3@foo.com,当所有捕获所有地址都在“收件人”字段中明确指定时,工作正常。在这种情况下,“To”标题包含所有地址。但是,当使用分发列表或使用BCC发送到3捕获所有地址时,无法查看邮件发送到的所有全部地址。

人们如何解决这个问题?我不需要使用gmail - Exchange也一样好。我不想从头开始构建自己的邮件服务器/下载一些C#邮件服务器。

非常感谢您的任何意见!

编辑:正如所建议的那样,这将在链中更早完成,并且将通过按照建议编写一些自定义逻辑来解决。

1 个答案:

答案 0 :(得分:2)

这些问题通常不是使用IMAP解决的,而是在LDA的链中提前一步。

本地传递代理,即朋友之间的LDA,是负责获取localpart并将其映射到邮箱(或转发等)的软件。 LDA有时会将localpart存储在存储的消息中,但总是存在。正如Max所说,如果它存储了,你可以在Received或Delivered-To中找到它。

有些LDA,我不知道它是10%还是50%,可以用Sieve语言编程。这种语言有时用来解决我认为你所拥有的问题。您可以检查您使用的任何软件是否支持。

以下是Sieve的一个简单示例:

if envelope "from" :is :domain "mailtjenester.no" {
    redirect "brenden@telemeny.com";
}

(那是垃圾邮件发送者,不管他们寄给我什么,我都会转发给垃圾邮件公司的某人。他可以为我取消订阅。)