Search code examples
amazon-web-servicesgoamazon-sesdkim

AWS SES SendRawEmail with via amazonses.com warning


Hi I'm sending raw emails with attachemnts from Amazon AWS SES using raw format. To prepare the message I'm using the library github.com/domodwyer/mailyak and the following code. The problemn is that I'm receiving the "via amazonses.com" warning on GMail. When I send the email using SendEmail method I didn't get this warning. My domain and email has the DKIM signature. I also found this question from a similar issue, but also without solution.

The mail-tester website says that my message is has two DKIM signatures, one from my domain and other from amazonses.com

mail := mailyak.New("", nil)
mail.To(destinatario)
mail.From(remetente)
mail.FromName(remetenteNome)
mail.Subject(titulo)

if err := templateConteudo.ExecuteTemplate(mail.HTML(), "conteudo", emailData{Parametros: *parametros}); err != nil {
    log.Println(err)
    return
}

if anexos != nil {
    for _, anexo := range anexos {
        mail.Attach(anexo.Nome, *anexo.Arquivo)
    }
}

buffer, err := mail.MimeBuf()
if err != nil {
    log.Println(err)
    return
}
dados, err := ioutil.ReadAll(buffer)
if err != nil {
    log.Println(err)
    return
}

dadosSES := &ses.SendRawEmailInput{
    RawMessage: &ses.RawMessage{
        Data: dados,
    },
}

if _, err := sesCTX.SendRawEmail(dadosSES); err != nil {
    log.Println(err)
    return
}

Solution

  • According this question when the from descrition has special characters it fails to DKIM authentication. So I just mime encoded it using the following code.

    mail.FromName(mime.QEncoding.Encode("UTF-8", remetenteNome))