2017-03-11 2 views
1

Ich habe Probleme beim Senden von E-Mails mit AWS golang sdk mit SendRawEmail Operation. Obwohl ich keine Fehler erhalte und MessageId von AWS zurück erhalte, erhalte ich die E-Mail nicht.AWS SES sendet keine E-Mails mit SendRawEmail-Operation

Senden von E-Mails mit SendEmail funktioniert gut und ich erhalte die E-Mail.

Mein Code:

session, err := session.NewSession() 
    if err != nil { 
    return err 
    } 

    svc := ses.New(session, &aws.Config{Region: aws.String("eu-west-1")}) 

    messageContent := `From: "Alice" <[email protected]> 
To: "Bob" <[email protected]> 
Return-Path: <[email protected]> 
Subject: Hello 
Content-Language: en-US 
Content-Type: text/plain; charset="us-ascii" 
MIME-Version: 1.0 

This is a test email` 

    base64messageContent := base64.StdEncoding.EncodeToString([]byte(messageContent)) 

    source := aws.String("[email protected]") 
    destinations := []*string{aws.String("[email protected]")} 
    message := ses.RawMessage{Data: []byte(base64messageContent)} 

    input := ses.SendRawEmailInput{Source: source, Destinations: destinations, RawMessage: &message} 

    output, err := svc.SendRawEmail(&input) 

    if err != nil { 
    return err 
    } 

    log.Println("Response from SES", output) 

    return nil 
} 

ich mein Google Mail als Ziel E-Mail verwenden, wenn das einen Unterschied macht.

+2

Das Empfangen einer MessageId von der Antwort bedeutet, dass der Aufruf von 'SendRawEmail' erfolgreich war. Es bedeutet jedoch nicht unbedingt eine erfolgreiche Lieferung. Um das Problem weiter zu beheben, empfehle ich Ihnen, den Zustellungs- (oder Bounce-) Status zu prüfen, indem Sie [eine SNS-Benachrichtigung für SES konfigurieren] (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure- sns-notifications.html # configure-feedback-notifications-console) und abonnieren Sie Ihre E-Mail an das SNS-Thema, um den Lieferstatus oder einen Grund für einen Fehler zu sehen. –

Antwort

2

Data in RawData sollte nicht Base64-codiert sein. Als documentation states:

:

// Daten werden automatisch vom SDK Base64-codiert/decodiert.