You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Golang AWS SES-v2配置邮件预览文本替代正文展示

实现方案

要实现邮件预览区域显示指定文本而非正文,核心是利用AWS SES-v2 SDK中EmailContent.Simple.PreviewText字段定义专属预览内容,具体实现如下:

关键代码示例

在构建SendEmailInput参数时,明确设置PreviewText字段,示例代码如下:

package main

import (
	"context"
	"fmt"
	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/config"
	"github.com/aws/aws-sdk-go-v2/service/sesv2"
	"github.com/aws/aws-sdk-go-v2/service/sesv2/types"
)

func main() {
	cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-east-1"))
	if err != nil {
		panic(fmt.Sprintf("加载SDK配置失败: %v", err))
	}

	client := sesv2.NewFromConfig(cfg)

	input := &sesv2.SendEmailInput{
		Destination: &types.Destination{
			ToAddresses: []string{"收件人邮箱@example.com"},
		},
		Content: &types.EmailContent{
			Simple: &types.Message{
				Subject: &types.Content{
					Data: aws.String("你的邮件主题"), // 保留原主题设置
				},
				Body: &types.Body{
					Text: &types.Content{
						Data: aws.String("完整邮件正文内容(无需显示在预览)"),
					},
					Html: &types.Content{
						Data: aws.String("<h1>HTML格式邮件正文</h1><p>这是完整的HTML邮件内容</p>"),
					},
				},
				PreviewText: &types.Content{ // 重点配置:指定预览文本
					Data: aws.String("这是你要展示在预览区域的自定义文本"),
				},
			},
		},
		FromEmailAddress: aws.String("发件人邮箱@example.com"),
	}

	_, err = client.SendEmail(context.TODO(), input)
	if err != nil {
		panic(fmt.Sprintf("发送邮件失败: %v", err))
	}

	fmt.Println("邮件发送成功")
}

原理说明

  • SES-v2的Simple.Message.PreviewText是专门为邮件预览场景设计的参数,设置后主流邮箱客户端会优先使用该字段内容作为列表预览文本,不再自动截取正文内容。
  • 该配置对纯文本、HTML格式的邮件均生效,且完全不影响邮件正文的正常展示。

内容的提问来源于stack exchange,提问作者Aanchal Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 15:43:20