基于Supabase配置与使用邮件服务

更新时间:

在应用开发中,可靠的邮件通知系统对用户注册、密码重置和邮箱确认等核心功能至关重要。阿里云AnalyticDB for PostgreSQL深度集成Supabase Auth身份认证体系,并在此基础上提供企业级邮件服务能力。开发者可以使用默认的阿里云邮件服务快速启动应用,或接入自定义SMTP服务器实现邮件服务。

前提条件

  • 创建Supabase项目。已开通的AnalyticDB for PostgreSQLSupabase项目,创建时间需晚于以下日期:

    • 中国地域:20250904日。

    • 新加坡:20250829日。

  • 开通AnalyticDB for PostgreSQL实例所在VPC公网NAT网关,并创建SNAT条目绑定Supabase项目所在的VPC或交换机,使Supabase具备公网访问能力。创建公网NAT网关会收取费用,详情请参见NAT 网关计费

配置SMTP服务器

  • (默认)使用阿里云SMTP服务器。

    AnalyticDB for PostgreSQLSupabase默认配置了阿里云SMTP服务器,支持自动给指定邮箱发送邀请和确认邮件。

  • 配置自定义SMTP服务器。

    登录Supabase Dashboard,在Dashboard侧边栏单击Authentication>Emails,开启Enable Custom SMTP配置自定义的SMTP服务器。

    image

使用方式

  1. 开启邮件确认。

    1. 登录Supabase Dashboard,在Dashboard侧边栏单击Authentication>Sign In/Providers

    2. 单击Email,打开Confirm email开关,并保存配置。

      image.png

  2. 注册新用户。

    通过Supabase Dashboard注册新用户

    登录Supabase Dashboard,在Dashboard侧边栏单击Authentication>Users,单击右侧的Add user,您可以选择Create new User注册新用户。

    image

    通过URL调用注册接口

    登录Supabase Dashboard,在Dashboard页面左上角单击Connect,然后在弹出窗口中单击App Frameworks,获取SUPABASE_PUBLIC_URLANON_KEY。调用示例如下:

    curl -X POST 'http://<SUPABASE_PUBLIC_URL>/auth/v1/signup' \
      -H 'apikey: YOUR_ANON_KEY' \
      -H 'Content-Type: application/json' \
      -d '{
        "email": "example@email.com",
        "password": "testPassword"
      }'

    通过supabase-js注册新用户

    supabase-js的安装与使用,请参见supabase-js

    const { data, error } = await supabase.auth.signUp(
      {
        email: 'example@email.com',
        password: 'testPassword',
        options: {
          data: {
            first_name: 'John',
            age: 27,
          }
        }
      }
    )