PHPackages                             proxiedmail/laravel-receive-email - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. proxiedmail/laravel-receive-email

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

proxiedmail/laravel-receive-email
=================================

Laravel Receive Email via ProxiedMail library allows creating proxy-emails and receiving emails via webhooks, Rest API.

0.0.4(2y ago)1552LGPL-3.0-or-laterPHPPHP ^7.4 || ^8.0

Since Feb 25Pushed 2y agoCompare

[ Source](https://github.com/proxied-mail/laravel-receive-email)[ Packagist](https://packagist.org/packages/proxiedmail/laravel-receive-email)[ RSS](/packages/proxiedmail-laravel-receive-email/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (2)Versions (5)Used By (0)

ProxiedMail Client | Receive email via webhook Laravel
======================================================

[](#proxiedmail-client--receive-email-via-webhook-laravel)

ProxiedMail 👷‍♀️ is a simple package for the base library to create proxy emails and receive webhooks or simply browse email list. You can find the base PHP library at

You're welcome to [visit the docs](http://docs.proxiedmail.com/).

What is the ProxiedMail?
========================

[](#what-is-the-proxiedmail)

[ProxiedMail](https://proxiedmail.com) is a tool that brings the email experience to a new level because it was built around the privacy first concept that enhances using a unique email each time which makes it a second password, but also allows you more control over your correspondence. Additionally, it gives you the advantage of moving to another email provider just in a few seconds. Because we have this kind of system we also aim to bring more into the experience of development using emails.

Features
--------

[](#features)

🛠 Creating endless proxy emails with one of ProxiedMail domains (i.e , , )

🛠 Setting up forwarding email or disabling forwarding

🛠 Setting up a callback to your URL

🛠 Browsing received emails on the received emails endpoint

🛠 Setting up custom domains. You can do everything using your domain as well.

🛠 Domain-to-domain forwarding. Just in case you need it we can forward emails by mask, like \*@domainhostedatproxiedmail.com -&gt; \*someotherdomain.com. In this case, the MX of the first domain should be pointed to ProxiedMail and the second domain should be verified by TXT record.

📦 Install
---------

[](#package-install)

Via composer

```
$ composer require proxiedmail/laravel-receive-email
```

Setting service provider
------------------------

[](#setting-service-provider)

This package provide auto-discovery for service provider

If Laravel package auto-discovery is disabled, add service providers manually to /config/app.php. There are service provider you must add:

```
\ProxiedMail\Client\Providers\ProxiedMailServiceProvider::class

```

### Publish client configuration:

[](#publish-client-configuration)

```
php artisan vendor:publish --tag=proxiedmail
```

### Configure ProxiedMail client:

[](#configure-proxiedmail-client)

Put your ProxiedMail API token in /config/proxiedmail.php. You can find this token in [ProxiedMail API Settings](https://proxiedmail.com/en/settings).

```
return [
    'apiToken' => 'YOUR API TOKEN',
    'host' => 'https://proxiedmail.com',
];
```

🚀 Live example
--------------

[](#rocket-live-example)

This example demonstrates create proxy emails, browse received emails and receive emails via webhook.

```
use ProxiedMail\Client\Bridge\ProxiedMailClient;
use ProxiedMail\Client\Facades\ApiFacade;

class ExampleController
{
    public function browseReceivedEmails(ProxiedMailClient $proxiedMailClient)
    {
        /**
         * @var ApiFacade $api
         */
        $api = $proxiedMailClient->getClient();

        $proxyEmail = $api->createProxyEmail(
            [],
            null,
            null,
            null,
            true
        );

        // while (true) with 100 seconds limit
        foreach (range(0, 180) as $non) {
            echo "PROXY-EMAIL: " . $proxyEmail->getProxyAddress() . "\n";
            echo "Time limit is 3 mins \n";
            echo "Send the email to this proxy-email to get email payload printed here \n";

            //checking webhook receiver

            $receivedEmails = $api->getReceivedEmailsLinksByProxyEmailId($proxyEmail->getId())->getReceivedEmailLinks();
            echo "Amount of received emails: " . count($receivedEmails) . "\n";
            foreach ($receivedEmails as $receivedEmail) {
                echo "Have received email: \n";
                var_dump($receivedEmail);

                echo "\n";
            }

            echo "\n";

            sleep(1);
        }
    }

    public function receiveEmailViaWebhook(ProxiedMailClient $proxiedMailClient)
    {
        /**
         * @var ApiFacade $api
         */
        $api = $proxiedMailClient->getClient();

        $wh = $api->createWebhook(); //creating webhook-receiver
        $proxyEmail = $api->createProxyEmail(
            [],
            null,
            $wh->getCallUrl() //specifying webhook url
        );

        // while (true) with 100 seconds limit
        foreach (range(0, 100) as $non) {
            echo "PROXY-EMAIL: " . $proxyEmail->getProxyAddress() . "\n";
            echo "Send the email to this proxy-email to get email payload printed here";

            //checking webhook receiver
            $whStatus = $api->statusWebhook($wh->getId());

            echo "Webhook STATUS: \n";
            echo "Received: " . ($whStatus->isReceived() ? 'yes' : 'no') . "\n"; //printing webhook status

            //printing payload if received
            if ($whStatus->isReceived()) {
                echo "WEBHOOK PAYLOAD: \n";
                echo json_encode($whStatus->getPayload());
                break;
            }

            echo "\n";

            sleep(1);
        }
    }
}
```

### Managing UI

[](#managing-ui)

You can create find the UI on [ProxiedMail](https://proxiedmail.com/) to manage your domains, emails, and webhooks.

🔧 Contributing
--------------

[](#wrench-contributing)

Please feel free to fork and sending Pull Requests. This project follows [Semantic Versioning 2](http://semver.org) and [PSR-2](http://www.php-fig.org/psr/psr-2/).

📄 License
---------

[](#page_facing_up-license)

GPL3. Please see [License File](LICENSE) for more information.

Questions
---------

[](#questions)

For any questions please contact

Bonus
-----

[](#bonus)

Also please check out the article [how to receive emails in Laravel in our blog](https://proxiedmail.com/en/blog/how-to-receive-email-with-laravel). If you're interested in receiving emails in PHP use the [library for pure PHP](https://github.com/proxied-mail/proxiedmail-php-client).

Article: [how to receive emails in PHP](https://dev.to/yatsenkolesh/how-to-receive-email-with-php-3k21)

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Total

4

Last Release

750d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cac57848f9b0702bcf1cc4466c18ec8eacbd6326055090800dd4c5d395308974?d=identicon)[proxiedmail](/maintainers/proxiedmail)

---

Top Contributors

[![yatsenkolesh](https://avatars.githubusercontent.com/u/20239433?v=4)](https://github.com/yatsenkolesh "yatsenkolesh (7 commits)")

### Embed Badge

![Health badge](/badges/proxiedmail-laravel-receive-email/health.svg)

```
[![Health](https://phpackages.com/badges/proxiedmail-laravel-receive-email/health.svg)](https://phpackages.com/packages/proxiedmail-laravel-receive-email)
```

###  Alternatives

[spatie/laravel-failed-job-monitor

Get notified when a queued job fails

1.0k2.6M4](/packages/spatie-laravel-failed-job-monitor)[vemcogroup/laravel-sparkpost-driver

SparkPost driver to use with Laravel 6.x|7.x|8.x|9.x|10.x

421.7M1](/packages/vemcogroup-laravel-sparkpost-driver)[spatie/mailcoach

Self-host Mailcoach

4007.0k](/packages/spatie-mailcoach)[synergitech/laravel-postal

This library integrates Postal with the standard Laravel mail framework.

38107.1k](/packages/synergitech-laravel-postal)[motomedialab/smtp2go

Send emails via API using the first-class email courier SMTP2Go

1316.3k](/packages/motomedialab-smtp2go)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
