额外的信息被注入到通过SMTP电子邮件(Extra Info being injected into

2019-10-21 05:41发布

我一直有一个很奇怪的问题。 我有一个golang服务器,我使用网/ SMTP来发送电子邮件。 它进行得很顺利,直到我们实现了一些额外的信息被注入到电子邮件和雅虎开始忽略我们的电子邮件。 不管怎么说,并发送给了我们信息的主体的信息是:

From: test@withheld.com
To: me@gmail.com
Subject: Testing
MIME-version: 1.0;
Content-Type: text/html; charset="UTF-8";
<html>
     <b> Testing </b>
</html>

这然后被发送到亚马逊SES,我们用来发送电子邮件帐户托管在GoDaddy的。 当邮件到达,和我展示使用Gmail原邮件正文中,我得到这样的:

From: test@withheld.com
To: me@gmail.com
Subject: Testing
MIME-version: 1.0;
Content-Type: text/html; charset="UTF-8";

<html>
    <b> Testing </b>
</html>
Date: Wed, 29 Oct 2014 11:00:56 +0000
Message-ID: <[Lots of Numbers]@email.amazonses.com>
X-SES-Outgoing: [Some Numbers]
Feedback-ID: us-east-1.[numbers]=:AmazonSES

因此,这些额外的4场获得上涨给我们的邮件正文,这我相信会导致我们越来越标记为垃圾邮件或更糟(雅虎是残酷的。)有谁知道这4条线路可能已被添加? 当然好像SES的,但我相信Godaddy的少了一大堆。

(有,我们在我们的身体有不同的间隔点,然后将信息将注入随机位置在邮件正文)

Answer 1:

您需要添加一个换行符( \r\n头和身体之间)。

此外,如果你想要一个简单的方法来发送电子邮件在Go可以使用Gomail (我是作者):

package main

import (
    "gopkg.in/gomail.v2"
)

func main() {
    m := gomail.NewMessage()
    m.SetHeader("From", "test@withheld.com")
    m.SetHeader("To", "me@gmail.com")
    m.SetHeader("Subject", "Testing")
    m.SetBody("text/html", `<html>
     <b> Testing </b>
</html>`)

    d := gomail.NewPlainDialer("smtp.example.com", 587, "user", "123456")
    if err := d.DialAndSend(m); err != nil {
        panic(err)
    }
}


Answer 2:

你缺少头部和身体之间的\ r \ n。 您还缺少一个日期和Message-ID头。 垃圾邮件过滤器的地段将采取那些缺少作为马虎垃圾邮件/病毒邮件是个好兆头。 同样为不具有纯文本交替。

Sendgrid或山魈可能有助于正确默认情况下得到这些东西。



文章来源: Extra Info being injected into an email over SMTP