> ## 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 Laravel

> Send a transactional email with the Apollo Signal Laravel integration

Laravel support is included in the public PHP package. Composer discovers its service provider,
and the client uses `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 package">
    ```bash theme={"dark"}
    composer require apollo-deploy/signal-sdk
    ```
  </Step>

  <Step title="Configure the API key">
    Add the server-side key to `.env`:

    ```dotenv theme={"dark"}
    APOLLO_SIGNAL_API_KEY=your_api_key
    ```
  </Step>

  <Step title="Send from a service">
    ```php theme={"dark"}
    <?php

    namespace App\Services;

    use Apollo\Deploy\Signal\Sdk\Client;
    use Apollo\Deploy\Signal\Sdk\SendEmailRequest;

    final class PasswordResetMailer
    {
        public function __construct(private readonly Client $signal) {}

        public function send(string $recipient): string
        {
            $request = new SendEmailRequest();
            $request->from = 'auth@mail.company.com';
            $request->to = [$recipient];
            $request->subject = 'Reset your password';
            $request->text = 'Use the secure link in your account to choose a new password.';

            return $this->signal->emails()->sendEmail($request)->id;
        }
    }
    ```
  </Step>
</Steps>

<Note>
  PHP and Laravel intentionally share `apollo-deploy/signal-sdk`; no second Laravel repository or
  package is required. Queue sends when the web request should not wait for API acceptance.
</Note>

<CardGroup cols={2}>
  <Card title="PHP" icon="code" href="/signal/send-with/send-with-php">
    Use the same package in plain PHP.
  </Card>

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