现在我怀疑通过Mandrill接收电子邮件,一旦我添加入站域并将其路径路由到我想要的位置,它应该准备接收邮件了.好吧,我已经在Stack Overflow上阅读了类似的问题,并且据说如果有人想使用传统邮箱接收邮件,那么最好不要使用Mandrill或使用自定义子域.
此外,据说Mandrill无法接收已配置或转发到其他传统邮箱的邮件.
因此,我向Mandrill的入站域添加了一个子域,如inbound.mydomain.com,并在此域上接收将由Mandrill接收的电子邮件,并将其发送到我们设置的所需路由.现在我将不得不使用inbound.mydomain.com更改我的发件人域名,以使用户回复此域名,该域名将在Mandrill收到.我想要的是:
解决方法
>首先,我设置Mandrill从info@email.mydomain.com Setting up sending domain发送电子邮件.
>接下来,我为入站电子邮件Inbound email processing设置了相同的域.
>我在服务器上创建了一个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))))
我不确定你在Clojure中有多精通,但基本的要点是你从请求中提取信息(使用Webhook structure作为参考)并使用步骤1中的SMTP将其转发到另一个电子邮件地址.重要的是要注意你不是代表其他人发送的,你只是将他们的地址设置为“回复”.
>在我的情况下,info @ mydomain.com是Google Apps地址,所以我只使用Gmail作为我的收件箱
>最后,我添加了info@email.mydomain.com作为我的sending address in Gmail
所以我从info@email.healthunlocked.com发送所有电子邮件,但收到info@mydomain.com上的所有电子邮件.优点是我不受Gmail发送配额的限制,但仍可以使用Gmail管理电子邮件.
您也可以非常轻松地使用Desk进行此设置,它甚至会自动识别标题中的“回复”并发送自动确认,即使它是从Mandrill转发的.您需要将其设置为从info@mydomain.com进行轮询,并从info@email.mydomain.com发送.