2015-02-09 66 views
11

我試圖弄清楚如何使用MailGun Golang API發送郵件,而不用'代表'發送郵件。使用MailGun發送郵件時刪除'代''

這是怎樣的發件人地址目前看起來(其中foo.com是發件人的電子郵件域和bar.com是我的域名):

[email protected] on behalf of John Smith <[email protected]> 

什麼我需要做的,這樣它看起來像這樣相反:

John Smith <[email protected]> 

我已經根據MailGun指令設置了SPF和DKIM,並且所有事情都經過了正確的處理。我在發送郵件時也使用了SetDKIM(true)。有沒有我缺少的設置或需要額外的驗證?

+0

請嘗試將電子郵件發送到Gmail和後接收到的電子郵件的頭在上面的問題 – masegaloeh 2015-02-09 05:49:20

回答

8

您需要將電子郵件標頭中的sender屬性最有可能設置爲發件人地址。

我有一個node.js項目使用NodeMailer的同樣的問題。 Gmail和雷鳥將可能從地址精細顯示,但展望將可能從地址顯示爲

[email protected] on behalf of [email protected] 

當我看着我看到完整的電子郵件標頭,頭中的sender:[email protected]from:[email protected]

我們首先考慮了spf和dkim記錄,認爲這是一個問題,但它們很好,在電子郵件標題中它甚至表示spf和dkim都通過了,於是我注意到發件人標題與from和Outlook不同關注gmail和雷鳥不在乎的地方。

嘗試將sender標頭設置爲from值。

下面是編輯,以符合上述

Received-SPF: pass (google.com.... 
Authentication-Results: mx.google.com; 
     dkim=pass [email protected]; 
     spf=pass (google.com..... 
Sender: [email protected] 
From: Persons Name <[email protected]> 

使Sender等於Sender: Persons Name <[email protected]>

+0

謝謝。這解決了我與Mailgun的問題。 – Skowronek 2016-05-20 03:00:20

2

您是否試圖從與設置SPF/DKIM不同的域發送?

您只能從您授權Mailgun的域中發送白色標記的電子郵件。

+0

不,我從我授權的域名發送。換句話說,上面的mail.bar.com是我在Mailgun中指定的。 – Bill 2015-02-09 18:23:44

+1

我認爲這是問題! 你需要有建立在foo.com因爲mailgun你「從」 [email protected](而不是mail.bar.com)發送。 – 2015-08-14 11:45:09

8

只是如果別人發現的這個線程例子的錯誤的電子郵件標題中的一個組成部分樣本...我有同樣的問題,因爲我沒有意識到我想要發件人地址[email protected]但我添加了 - 按照推薦 - 子域到mailgun:mg.domain.com。所以當我試圖發送一封來自[email protected]的電子郵件時當我使用[email protected]時,我得到了「代表」/「發送者」 - 「代表」已不存在... 愚蠢的我...

1

爲了增加Dhodgin的回答是:

on behalf of消息出現時,如果您使用的是MailGun子域名,如mail.bar.com和電子郵件地址中使用不同的域名,如[email protected]
要解決此問題,添加一個自定義的MIME標題「發件人」,並將其設置爲與發件人電子郵件地址相同。

要使用 MailGun api確保添加自定義標題添加h:前綴,如:

request.AddParameter("h:sender", "John Smith <[email protected]> "); 
+0

這有效,但注意頭應該是「發件人」而不是「h:發件人」。在使用MailGun庫時,AddParameter會爲您添加h:。 – Bill 2017-08-20 10:56:35

相關問題