如何从不存在的(自动生成的唯一 ID)电子邮件发送电子邮件?
How to send e-mail from non-existing (autogenerated unique id) email?
我是一个域的所有者,我目前在 Google Apps for Business 中托管它的邮件 (MX)。
我有一个万能帐户,所以如果有人回复电子邮件给 generated-unique-id@mydomain.com,我有一个机器人会阅读该电子邮件并进行一些处理。
问题是:如何从该发件人的地址发送电子邮件?我的意思是:我无法为每个生成的 ID 创建一个用户 ID,如果我通过某些用户验证 Google SMTP,发件人将自动填充为该用户地址。 (我知道我可以使用任何 "verified aliases" 作为发件人(或回复),但我也无法为每个生成的 ID 创建别名。)
总结:我需要从不存在的电子邮件地址发送电子邮件。我如何使用第 3 方现有服务来做到这一点(我不想托管我自己的 SMTP 服务器,除非没有更简单的解决方案。
是否有任何托管邮件服务器可以让我这样做?
PS:您可能猜到了,这是一个类似于票证的系统,应该为每个线程生成一个唯一的电子邮件地址。 (是的,我知道我可以使用 Subject 作为唯一标识符。这是最好的解决方案吗?)
Gmail 允许您使用 local part subaddress of the email address as an ad-hoc alias,例如
支持+ticket123@mydomain.com
将路由到支持@mydomain.com,您可以使用本地part/alias进行过滤。
虽然我没试过,但我怀疑你也可以从 support+ticket123@mydomain.com 发送,就好像邮件是从 support@mydomain.com 发送的一样,而且来自 and/or Reply-To header 的电子邮件应包含完整的支持+ticket123@mydomain.com.
实际上,有一种方法可以完全按照您的要求进行操作,而无需托管您自己的 SMTP 服务器。这是大纲。
1) 您需要有一个包含该域名的托管计划。根据您的托管服务提供商和操作系统,您将拥有 cpanel 或 plesk 面板。
2) 在控制面板中,创建一个名为 ticketing@example.com 的电子邮件并将所有电子邮件转发给它。
3) 编写一个 php 脚本,定期检查 ticketing@example.com 并使用电子邮件 header 中的 to: 地址作为源地址回复电子邮件。
4) 一些电子邮件提供商可能将该电子邮件标记为垃圾邮件,但是,大多数垃圾邮件检查基于 SPF 和 DKIM 检查,而不是电子邮件存在性检查。要更正 SPF,您可以将以下记录添加到您的 DNS 记录中:
v=spf1 a -all
这实际上是将所有从您的域 IP 地址发送的电子邮件声明为 "permitted senders"。
The problem is, since you are not going for the dedicated smtp server
solution, you probably are sharing your ip address with several other
domain, and in that process you will be marking email originating from
their servers as trusted. Only do this if your hosting provider
provides you with a dedicated ip address for your hosting.
至于 DKIM 和更改源地址,您可以使用 php-mail-signature 使用 DKIM 密钥对所有电子邮件进行签名并操纵电子邮件 header。检查主页上提供的示例。
您可以关注 this guide 如何添加 DKIM 和 SPF 记录
需要说明的是,这只是回答你能不能做的问题。但是,我个人认为这不是正确的解决方案。使用单个地址进行发送和接收并依赖于主题行解析当然是一种更简洁的解决方案。用户也比随机电子邮件地址更熟悉它。
最后,如果您对干净的解决方案感兴趣,有许多免费的 php 脚本可以为您完成所有票务系统。
我是一个域的所有者,我目前在 Google Apps for Business 中托管它的邮件 (MX)。
我有一个万能帐户,所以如果有人回复电子邮件给 generated-unique-id@mydomain.com,我有一个机器人会阅读该电子邮件并进行一些处理。
问题是:如何从该发件人的地址发送电子邮件?我的意思是:我无法为每个生成的 ID 创建一个用户 ID,如果我通过某些用户验证 Google SMTP,发件人将自动填充为该用户地址。 (我知道我可以使用任何 "verified aliases" 作为发件人(或回复),但我也无法为每个生成的 ID 创建别名。)
总结:我需要从不存在的电子邮件地址发送电子邮件。我如何使用第 3 方现有服务来做到这一点(我不想托管我自己的 SMTP 服务器,除非没有更简单的解决方案。
是否有任何托管邮件服务器可以让我这样做?
PS:您可能猜到了,这是一个类似于票证的系统,应该为每个线程生成一个唯一的电子邮件地址。 (是的,我知道我可以使用 Subject 作为唯一标识符。这是最好的解决方案吗?)
Gmail 允许您使用 local part subaddress of the email address as an ad-hoc alias,例如
支持+ticket123@mydomain.com
将路由到支持@mydomain.com,您可以使用本地part/alias进行过滤。
虽然我没试过,但我怀疑你也可以从 support+ticket123@mydomain.com 发送,就好像邮件是从 support@mydomain.com 发送的一样,而且来自 and/or Reply-To header 的电子邮件应包含完整的支持+ticket123@mydomain.com.
实际上,有一种方法可以完全按照您的要求进行操作,而无需托管您自己的 SMTP 服务器。这是大纲。
1) 您需要有一个包含该域名的托管计划。根据您的托管服务提供商和操作系统,您将拥有 cpanel 或 plesk 面板。
2) 在控制面板中,创建一个名为 ticketing@example.com 的电子邮件并将所有电子邮件转发给它。
3) 编写一个 php 脚本,定期检查 ticketing@example.com 并使用电子邮件 header 中的 to: 地址作为源地址回复电子邮件。
4) 一些电子邮件提供商可能将该电子邮件标记为垃圾邮件,但是,大多数垃圾邮件检查基于 SPF 和 DKIM 检查,而不是电子邮件存在性检查。要更正 SPF,您可以将以下记录添加到您的 DNS 记录中:
v=spf1 a -all
这实际上是将所有从您的域 IP 地址发送的电子邮件声明为 "permitted senders"。
The problem is, since you are not going for the dedicated smtp server solution, you probably are sharing your ip address with several other domain, and in that process you will be marking email originating from their servers as trusted. Only do this if your hosting provider provides you with a dedicated ip address for your hosting.
至于 DKIM 和更改源地址,您可以使用 php-mail-signature 使用 DKIM 密钥对所有电子邮件进行签名并操纵电子邮件 header。检查主页上提供的示例。
您可以关注 this guide 如何添加 DKIM 和 SPF 记录
需要说明的是,这只是回答你能不能做的问题。但是,我个人认为这不是正确的解决方案。使用单个地址进行发送和接收并依赖于主题行解析当然是一种更简洁的解决方案。用户也比随机电子邮件地址更熟悉它。
最后,如果您对干净的解决方案感兴趣,有许多免费的 php 脚本可以为您完成所有票务系统。