> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apollodeploy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Send emails with Go

> Send a transactional email with the official Apollo Signal Go SDK

The Go SDK uses a class-style client and sends to
`https://api.signal.apollodeploy.com` by default.

Before you start, [create an API key](/signal/create-an-api-key) with **Emails: Send** permission
and [verify the From domain](/signal/add-a-domain).

<Steps>
  <Step title="Install the SDK">
    ```bash theme={"dark"}
    go get github.com/apollo-deploy/signal-sdks/sdks/go/signal/v4
    ```
  </Step>

  <Step title="Store your API key">
    Set `SIGNAL_API_KEY` in the server environment or secret manager.
  </Step>

  <Step title="Send an email">
    ```go theme={"dark"}
    package main

    import (
        "context"
        "fmt"
        "os"

        signal "github.com/apollo-deploy/signal-sdks/sdks/go/signal/v4"
    )

    func main() {
        client := signal.NewClient(
            signal.WithDefaultHeader(
                "Authorization",
                "Bearer "+os.Getenv("SIGNAL_API_KEY"),
            ),
        )

        email, err := client.Emails.SendEmail(
            context.Background(),
            signal.SendEmailRequest{
                From: "auth@mail.company.com",
                To: []string{"alex@example.com"},
                Subject: signal.String("Reset your password"),
                Text: signal.String(
                    "Use the secure link in your account to choose a new password.",
                ),
            },
        )
        if err != nil {
            panic(err)
        }

        fmt.Println(email.Id)
    }
    ```
  </Step>
</Steps>

<Note>
  `To`, `Cc`, and `Bcc` are slices. Your From address must use a verified domain in the same Signal
  project as the API key.
</Note>

<CardGroup cols={2}>
  <Card title="All SDKs" icon="code" href="/signal/send-with/sdk-overview">
    Compare every supported language and framework.
  </Card>

  <Card title="Manage emails" icon="envelope" href="/signal/dashboard/emails/introduction">
    Follow message states and delivery timelines.
  </Card>
</CardGroup>
