Access is invite-only during beta. Once invited, create a key to personalize these examples. Production sending requires a separate review.

Send emails with Laravel

Set the mailer to postshiba and call Mail::raw.

The Laravel adapter lives in the PHP package. It registers PostShiba\Laravel\PostShibaServiceProvider through Composer and calls emails.send.

send.php
1 use Illuminate\Support\Facades\Mail;
2
3 Mail::raw('Thanks for your order.', function ($message) {
4 $message->from('receipts@mail.example.com')
5 ->to('you@example.com')
6 ->replyTo('support@example.com')
7 ->subject('Your receipt');
8 });

Installation

composer.json
1 {
2 "repositories": [
3 {
4 "type": "vcs",
5 "url": "https://github.com/postshiba/postshiba-php"
6 }
7 ],
8 "require": {
9 "postshiba/postshiba": "dev-main"
10 }
11 }

Open pull requests on postshiba/sdks.

services.php
1 // config/services.php
2 'postshiba' => [
3 'key' => env('POSTSHIBA_API_KEY'),
4 'team_id' => env('POSTSHIBA_TEAM_ID'),
5 ],
mail.php
1 // config/mail.php
2 'postshiba' => [
3 'transport' => 'postshiba',
4 ],
.env
1 MAIL_MAILER=postshiba
2 POSTSHIBA_API_KEY=YOUR_API_KEY
3 POSTSHIBA_TEAM_ID=1

Errors and throttling

Failed responses raise PostShiba\Error with error, field, message, and HTTP status.

A 429 with error throttled means the cluster hit its hourly throttle or its 24-hour cap. Do not retry that send immediately. Immediate retries hit the same cap.

The Laravel transport does not delay the job. In a queued mailable, catch PostShiba\Error and check $e->error === 'throttled' before sending again.

See Errors.

About

PostShiba is the email platform that powers Bento behind the scenes. You can build your own products, like Bento, on top of it.

© 2026 PostShiba by Backpack Internet Pty. Ltd. All rights reserved.

The same policies that govern Bento are applied to PostShiba Privacy | Terms | Security