doubeng9407 2017-04-30 18:18
浏览 417
已采纳

AWS SES SDK发送带有附件的电子邮件

I'm using the official AWS Golang SDK to integrate with SES but can't find any information about how to add some attachments (pdf file represented as []byte in code) to the email.

Could you help me?

The current email sending code looks like this:

sesEmailInput := &ses.SendEmailInput{
    Destination: &ses.Destination{
        ToAddresses: []*string{aws.String("To address")},
    },
    Message: &ses.Message{
        Subject: &ses.Content{
            Data: aws.String("Some text"),
        },
        Body: &ses.Body{
            Html: &ses.Content{
                Data: aws.String("Some Text"),
            },
        },
    },
    Source: aws.String("From address"),
    ReplyToAddresses: []*string{
        aws.String("From address"),
    },
}
if _, err := s.sesSession.SendEmail(sesEmailInput); err != nil {
    return err
}
  • 写回答

1条回答 默认 最新

  • duanjue7745 2017-04-30 18:43
    关注

    To send attachments, use the SendRawEmail API instead of SendEmail. AWS documentation will generally refer to this as constructing a 'raw message' instead of explicitly calling out how to send attachments.

    Example

    From the AWS SDK for Go API Reference, linked below:

    params := &ses.SendRawEmailInput{
        RawMessage: &ses.RawMessage{ // Required
            Data: []byte("PAYLOAD"), // Required
        },
        ConfigurationSetName: aws.String("ConfigurationSetName"),
        Destinations: []*string{
            aws.String("Address"), // Required
            // More values...
        },
        FromArn:       aws.String("AmazonResourceName"),
        ReturnPathArn: aws.String("AmazonResourceName"),
        Source:        aws.String("Address"),
        SourceArn:     aws.String("AmazonResourceName"),
        Tags: []*ses.MessageTag{
            { // Required
                Name:  aws.String("MessageTagName"),  // Required
                Value: aws.String("MessageTagValue"), // Required
            },
            // More values...
        },
    }
    resp, err := svc.SendRawEmail(params)
    

    Further Reading

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?