问题标签 [verp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1581 浏览

email - 解释 VERP

我正在制作一个退回检测程序,它可以读取退回邮件。我们的设置是发送电子邮件,将 noreply@domain.tl 添加到发送的邮件中。一些收件人不再存在,因此我们想要读取退回邮件,并检测它是发送给谁的。我已经为此崩溃了一两天,现在正在谷歌搜索等等。现在我偶然发现了一个名为 VERP,可变信封返回路径的东西。但是这里有人可以用“人类”的术语向我解释这项技术吗?

我是这样理解的:向收件人发送邮件,并将“FROM:”标头设置为 noreply+recipient+recipient_domain.tl@domain.tl。

但是如果收件人不存在,收件人邮件服务器如何扣除FROM头中的返回地址呢?它是否从返回路径中扣除它而不是在发送的邮件中设置?

希望有人理解我的问题,并能解释我它是如何工作的,或者告诉我另一种方法。

0 投票
2 回答
594 浏览

email - 捕获电子邮件退回

我将向收件人列表发送合法电子邮件,其中一些现在可能已经过时了。

我想知道,根据电子邮件退回,哪些已过时并将其从数据库中删除。除了VERP,我还没有看到任何针对此任务的标准化。

还有其他你知道的方法吗?

0 投票
1 回答
1168 浏览

java - 带有 JavaMail 和 Postfix 的 VERP,如何?

首先,您好!

我即将使用Javax.mail API 在 Java 中开发一个自定义新闻通讯应用程序。所以我需要开发一种 Verp 技术来跟踪反弹。

到目前为止,我已经覆盖了javax.mail.internet.MimeMessage只是为了处理我自己的邮件标头。

所以这似乎适用于我设置的任何标题,除了返回路径。

导致 VERP 失败。我在调用之前和之后跟踪了此标头的值

并且似乎该值与我设置的值相同。然而,在收到的邮件中,返回路径更改为发件人地址(发件人:)。与其他标题不同的是,它们是设置的。因此,退回通知将发送给发件人,而不是我的 bounce+usermail=host@mydomain.com 。

我认为这个失败是在后缀站点上。

请注意,服务器由 Plesk 设置,并且我的 domain.com 在我的服务器上共享。

所以我请任何可以帮助我的人。或者可以为我提供有关如何以不同方式实现 Verp 技术的更多信息。

Thx 提前和干杯!

0 投票
1 回答
2046 浏览

c# - Sending email with a custom envelope sender (VERP)

I'm writing a server that will send email to many recipients on behalf of my client.

The email must come from the client's email address (client@example.org), but I want to automatically handle bounces via VERP. Basically, the email From: header will be client@example.org, but the SMTP envelope sender (MAIL FROM) will be unique-email-id@my-email-service.example.com.

I've already built a multi-threaded sending engine that uses the built-in System.Net.Mail.SmtpClient to actually speak SMTP with the recipient's MX server.

Unfortunately, SmtpClient does not allow you to specify the envelope sender – it just uses the From: address.

I need an alternative that allows me to specify the SMTP MAIL FROM. Preferably, something that takes little work to drop in and replace SmtpClient.

Thus far, everything I've looked at is an entire email suite (SMTP/POP3/IMAP/kitchen sink). What lightweight SMTP libraries are available?

0 投票
2 回答
520 浏览

perl - VERP 和 perl 后缀不起作用

所以我有一个脚本,我试图让 VERP 正确运行。它使用 MIME::Lite 和 postfix 作为邮件服务器。这是代码:

当邮件被退回时,postfix 不会将其路由到 root@somesite.net 电子邮件收件箱。如何路由邮件以使退回邮件的发件人是 $​​verp_email 值?

我正在尝试创建包含电子邮件地址的所有退回电子邮件的日志,以便随后可以将其发送到文件或数据库。

如果有人能指出我正确的方向,我将非常感激。谢谢。

0 投票
1 回答
1714 浏览

email - 如何让 Plesk 11 服务器接受带有分隔符 (VERP) 的地址的电子邮件?

我想要的是

我们通过电子邮件发送批量续订通知,如果我们可以将任何退回邮件与我们数据库中的相应记录相关联,那将是理想的选择。我最近了解了VERPwiki),并认为这对我们来说是完美的解决方案。

我试过的

在进行任何更改之前,我进行了测试,并且消息如预期的那样被退回给发件人。然后我在 /etc/postfix/main.cf 中取消注释这一行并重新启动 Postfix。

问题

不幸的是,我似乎无法让它工作。发送到包含分隔符的地址的邮件不再被拒绝,但它们似乎也不会被传递到任何地方。这是邮件日志的摘录:

所以看起来 Postifx 正在做它的工作,但该plesk_virtual服务正在丢球。没有消息返回给发件人。退回邮件/Maildir/cur 中未显示任何消息。如果plesk_virtual在某处写入错误,我不知道在哪里(我检查了 /var/log/messages)。

我的搜索努力

我搜索了 Google、here 和 Parallels 论坛。我在谷歌中遇到了同样的问题,但它们都是针对几乎 3 年前发布的同一条消息。并且没有给出解决方案。几天前我在 Parallels 论坛上发帖。我得到了一些意见,但零回应。

想要的

我见过类似的问题,建议将所有未送达的邮件转发到特定地址。这是一个包罗万象的。在当今的垃圾邮件世界中,这不是一个现实的解决方案。

问题

如何让 Plesk 正确识别并传送消息到带有分隔符的地址?我无法想象我是唯一一个想要在 Plesk 服务器上执行此操作的人。

0 投票
1 回答
7226 浏览

email - Return-Path 标头与实际的电子邮件退回收件人有何不同?

我最近将我的交易电子邮件发送到Mailgun

到目前为止效果很好,但是我想知道返回路径标头。

考虑这封电子邮件(出于隐私目的,我删除了不相关的标题并替换了电子邮件/域)

这是从 gmail 收件箱中的实际邮件显示的原始电子邮件。如您所见,Return-Path 标头包含一个以结尾的电子邮件地址@my-website.com

但我只为传出电子邮件(spf、domainkey 等)设置了 dns 记录。不适用于传入的电子邮件。意思是,我的 MX 记录仍然指向其他地方的邮件服务器(在我的情况下是谷歌应用程序)。

那么退回邮件怎么可能到达mailgun服务器呢?

我本来希望看到一个以标题结尾的电子邮件@some-mailgun-server.com地址Return-Path

我以前一直在使用 Amazon SES,它们的Return-Path标题以amazonses.com

我询问了 mailgun 支持并得到了以下回复:

尼克:您的设置是正确的,即使您的 mx 记录指向其他地方,Mailgun 仍会自动处理退回邮件

他们只是向我保证一切都很好,但没有给我任何解释(这没关系,因为他们的工作不是教我我不知道的东西,而是提供可靠的电子邮件服务......)

所以我希望有人能给我解释一下。

我希望这一点很清楚,如果没有,请询​​问,我会尽力澄清我的问题。

编辑:

我的一个理论是,退回的电子邮件确实被发送到谷歌邮件服务器并被丢弃。然而,这是多余的,因为在此过程中错误响应也会发送到发送邮件服务器(当它打开到目标邮件服务器的 tcp 连接时)。

为了测试这个理论,并且由于 Return-Path 电子邮件采用 的形式bounce+SOMETHING@my-website.com,并且无论+字符后面是什么,谷歌都会将所有电子邮件发送给它前面的用户,我继续bounce@my-domain.com在谷歌应用程序上创建了该帐户。

我还尝试发送电子邮件至bounce+a801a1.c2b37-RECIEVER=gmail.com@my-website.com

它通过了我的收件箱。

现在我希望在我的收件箱中收到反弹流量。所以我向一个不存在的 hotmail 地址发送了一封电子邮件。我的谷歌应用收件箱没有收到电子邮件,mailgun 成功跟踪了退回邮件。

所以...看来它确实有效。我只是不明白为什么。

我的另一个理论是,退回电子邮件所发送到的邮件服务器永远不会使用其 MX 记录来解析。在这种情况下,总是选择交付服务器luna.mailgun.net。以地址结尾的域Return-Path只是服务器上邮箱的名称,但域与邮件实际投递的服务器无关。

那么这样做也是有意义的,因为如果域FromReturn-Path地址匹配,它可能会提高可交付性。

然而,这只是一个理论。这也意味着能够接收退回邮件的邮箱必须位于用于发送的同一台服务器上。

换句话说,除了发送邮件的实际服务器之外,不可能有一个邮箱来接收托管在其他地方的退回电子邮件地址。但这对我来说听起来也很奇怪......

我希望有人能启发我。

0 投票
2 回答
1636 浏览

python - 使用 python 和 postfix 发送符合 VERP 标准的电子邮件

我希望能够在 python 中发送电子邮件,以便我可以解析退回邮件。VERP 似乎是解决这个问题的方法。但是,当我将发件人地址(不是 MIMEMultipart 对象的“发件人”值)设置为包含 VERP 分隔符时,我没有收到退回通知。

我可以形成自己的 VERP 发件人(即发送到 user@domain.com,我可以设置我的 From: 地址为那个收件人“mysender+user-domain-com.mydomain.com”)并期望它工作吗?还是我需要配置后缀以以某种方式正确解析失败的 DSN?我的问题是收到失败通知,当我执行此操作时没有将消息传递给有效的收件人。

也许一个例子会有所帮助。

当我从 myuser@domain.com 发送电子邮件时,我收到退回通知就好了。

当我从 myuser+verp_identifier@domain.com 发送电子邮件时,我没有收到任何退回通知。(虽然正确寻址的电子邮件,例如:valid_user@gmail.com 通过就好了。) Perl 的邮件模块有一个 Verp 子模块,python 有这样的东西吗?

0 投票
1 回答
329 浏览

email - 捕获退回到无回复电子邮件地址的邮件

我试图弄清楚如何从发送邮箱无回复的情况下最好地实现退回捕获。这是情况。

我们向用户发送确认电子邮件,以确认他们在我们的系统上进行的预订。我们从不希望用户回复,因为这不是营销电子邮件,而只是收据。所以我们使用 no-reply@ourdomain.com 电子邮件地址(实际上我们的 smtp 服务器没有设置此邮箱)

但是,如果该电子邮件被退回,我们希望能够与用户取得联系(也许使用其他方式)以确保他们得到他们的确认。

我们从不希望用户回复,因为预订只能通过其他机制而不是电子邮件来更改。

我考虑过使用 VERP 进行退回(尽管我不完全确定如何实现这一点,也不确定它是否能在上述情况下工作。

我的问题是两个方面。

  1. 这种情况可以工作吗
  2. 是否应该以其他方式实施不回复。

PS我们的smtp服务器是postfix。

谢谢

0 投票
0 回答
121 浏览

jakarta-mail - 如何使用 JavaMail API 和交换服务器处理邮件守护程序响应?

我们有一个邮件服务,我们向用户发送通知。但是当用户的电子邮件无效时,服务器会以邮件守护程序响应或退回邮件进行响应。我想捕捉这些响应并将它们记录到数据库中。这是否可以使用 JavaMail API 和交换邮件服务器。

提前致谢。