Skip to content

Commit 2b38e62

Browse files
committed
Added mailcare driver
1 parent 21f7522 commit 2b38e62

File tree

4 files changed

+64
-0
lines changed

4 files changed

+64
-0
lines changed

src/Drivers/MailCare.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace BeyondCode\Mailbox\Drivers;
4+
5+
use Illuminate\Support\Facades\Route;
6+
use BeyondCode\Mailbox\Http\Controllers\MailCareController;
7+
8+
class MailCare implements DriverInterface
9+
{
10+
public function register()
11+
{
12+
Route::prefix(config('mailbox.path'))->group(function () {
13+
Route::post('/mailcare', MailCareController::class);
14+
});
15+
}
16+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace BeyondCode\Mailbox\Http\Controllers;
4+
5+
use Illuminate\Routing\Controller;
6+
use BeyondCode\Mailbox\Facades\Mailbox;
7+
use BeyondCode\Mailbox\Http\Requests\MailCareRequest;
8+
9+
class MailCareController extends Controller
10+
{
11+
public function __construct()
12+
{
13+
$this->middleware('laravel-mailbox');
14+
}
15+
16+
public function __invoke(MailCareRequest $request)
17+
{
18+
Mailbox::callMailboxes($request->email());
19+
}
20+
}

src/Http/Requests/MailCareRequest.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
namespace BeyondCode\Mailbox\Http\Requests;
4+
5+
use BeyondCode\Mailbox\InboundEmail;
6+
use Illuminate\Support\Facades\Validator;
7+
use Illuminate\Foundation\Http\FormRequest;
8+
9+
class MailCareRequest extends FormRequest
10+
{
11+
public function validator()
12+
{
13+
return Validator::make($this->all(), [
14+
'email' => 'required',
15+
]);
16+
}
17+
18+
public function email()
19+
{
20+
return InboundEmail::fromMessage($this->get('email'));
21+
}
22+
}

src/MailboxManager.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use BeyondCode\Mailbox\Drivers\Log;
77
use BeyondCode\Mailbox\Drivers\Mailgun;
88
use BeyondCode\Mailbox\Drivers\SendGrid;
9+
use BeyondCode\Mailbox\Drivers\MailCare;
910

1011
class MailboxManager extends Manager
1112
{
@@ -29,6 +30,11 @@ public function createSendGridDriver()
2930
return new SendGrid;
3031
}
3132

33+
public function createMailCareDriver()
34+
{
35+
return new MailCare;
36+
}
37+
3238
public function getDefaultDriver()
3339
{
3440
return $this->app['config']['mailbox.driver'];

0 commit comments

Comments
 (0)