RoR*_*RoR 8 domain-name-system email email-server
我正在使用Mandrill邮件服务器向用户发送电子邮件,并且我将自己的域添加到 Mandrill 以发送邮件。假设我已经将 Mandrill 配置为用于info@mydomain.com
发送电子邮件,然后它应该发送它发送的邮件。并且发送到的任何回复info@mydomain.com
都将转发到传统邮箱。
现在我对通过 Mandrill 接收电子邮件有疑问,一旦我添加了一个入站域并将其路径路由到我想要的位置,它应该准备好接收邮件。好吧,我在 Stack Overflow 上读过类似的问题,有人说如果有人想使用传统邮箱接收邮件,那么最好不要使用 Mandrill 或使用自定义子域。
也有人说 Mandrill 不可能接收已经配置或转发到其他一些传统邮箱的邮件。
因此,我在 Mandrill 的入站域中添加了一个子域,例如inbound.mydomain.com
并在该域上接收电子邮件,Mandrill 将收到这些电子邮件,并将发送到我们设置的所需路由。现在我将不得不更改我的发件人域,inbound.mydomain.com
以便让用户回复将在 Mandrill 接收到的域。我想要的是:
使用发送邮件 info@mydomain.com
使用入站域接收到我所在位置的邮件
是的,可以使用 Mandrill 接收电子邮件。我最近设置了类似的东西,尽管更像是您想要的相反情况:
info@email.mydomain.com
设置发送域发送电子邮件发送电子邮件。我在我们的服务器上创建了一个 webhook 来处理来自 Mandrill 的事件,它看起来像这样:
(defn forward-email
[request]
(doseq [event (get-inbound-events request)]
(let [email {:to "info@mydomain.com"
:from-address "info@email.mydomain.com"
:from-display (get-in event [:msg :from_name])
:reply-to (get-in event [:msg :from_email])
:subject (get-in event [:msg :subject])
:body (get-in event [:msg :text])}]
(send-email email))))
Run Code Online (Sandbox Code Playgroud)
我不确定您对 Clojure 有多熟悉,但基本要点是从请求中提取信息(使用Webhook 结构作为参考)并使用步骤 1 中的 SMTP 将其转发到另一个电子邮件地址。需要注意的是您不是代表其他人发送的,您只是将他们的地址设置为“回复”。
就我而言,info@mydomain.com
这是 Google Apps 地址,因此我仅使用 Gmail 作为收件箱
info@email.mydomain.com
我的发送地址所以我从 发送所有电子邮件info@email.healthunlocked.com
,但在 上接收所有电子邮件info@mydomain.com
。好处是我不受Gmail发送配额的限制,但仍然可以使用Gmail来管理电子邮件。
您还可以非常轻松地使用 Desk 进行此设置,它甚至会自动识别标题中的“回复”并发送自动确认,即使它是从 Mandrill 转发的。您还需要将其设置为轮询info@mydomain.com
和发送info@email.mydomain.com
。