bnomei / kirby-resend
Send transactional E-Mail with Resend
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 0
Open Issues: 0
Type:kirby-plugin
Requires
- php: >=8.1
- getkirby/composer-installer: ^1.2
- resend/resend-php: ^v0.8.0
Requires (Dev)
- getkirby/cms: ^3.6
- php-coveralls/php-coveralls: ^2.4
- phpunit/phpunit: ^9.5
Suggests
- bnomei/kirby3-dotenv: To load the api secret from an .env file
README
Send transactional E-Mail with Resend
Commerical Usage
Support open source!
This plugin is free but if you use it in a commercial project please consider to sponsor me or make a donation.
If my work helped you to make some cash it seems fair to me that I might get a little reward as well, right?
Be kind. Share a little. Thanks.
‐ Bruno
Sending via SMTP
<?php // regular "transactional" email $to = 'roger.rabbit@disney.com'; $success = kirby()->email([ 'from' => new \Kirby\Cms\User([ 'email' => 'resend@example.com', // your verified resend sender 'name' => 'Example Name', // your name ]), 'to' => $to, 'subject' => 'Sending E-Mails is fun', 'body' => [ 'html' => '<h1>Headline</h1><p>Text</p>', 'text' => "Headline\n\nText", ], 'transport' => resend()->transport(), // plugin helper to get SMTP config array ])->isSent();
Sending via PHP lib (work in progress)
$client = resend()->client(); $sendResult = $client->emails->send([ 'from' => 'onboarding@resend.dev', 'to' => 'delivered@resend.dev', 'subject' => 'Hello World', 'html' => '<strong>it works!</strong>', ]); // Getting the ID from the response Email object // https://github.com/resendlabs/resend-php/blob/main/src/Email.php echo $sendResult->id;
Sending Kirby Panel emails via Resend
If you want to make Kirby use Resend to send emails like the password reset from panel you have to set global auth
and email
config values.
site/config/config.php
return [ // …other settings 'auth' => [ 'methods' => ['password', 'password-reset'], 'challenge' => [ 'email' => [ 'from' => 'resend@example.com', // your verified postmark sender 'fromName' => 'Example Name', ] ] ], 'email' => [ 'transport' => [ 'type' => 'smtp', 'host' => 'smtp.resend.com', 'port' => 587, 'security' => true, 'auth' => true, 'username' => 'resend', // needs to be 'resend' 'password' => 'YOUR-APIKEY-HERE', // your resend apikey ] ] ];
Settings
You can set the apikey in the config.
site/config/config.php
return [ // other config settings ... 'bnomei.resend.apikey' => 'YOUR-APIKEY-HERE', ];
You can also set a callback if you use the dotenv Plugin.
site/config/config.php
return [ // other config settings ... 'bnomei.resend.apikey' => function() { return env('RESEND_APIKEY_TOKEN'); }, ];
Settings
Dependencies
Disclaimer
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
License
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.