Send transactional E-Mail with Resend
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
M | O | N | E | Y |
---|---|---|---|---|
Github sponsor | Patreon | Buy Me a Coffee | Paypal dontation | Hire me |
<?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();
$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;
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
]
]
];
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'); },
];
bnomei.resend. | Default | Description |
---|---|---|
apikey | null callback |
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.
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.