sineld / onesignal-mail
通过 OneSignal Mail 提供商发送电子邮件的包
dev-main
2024-05-11 00:15 UTC
Requires
- guzzlehttp/guzzle: ^7.8
- laravel/framework: ^9.0|^10.0|^11.0
This package is auto-updated.
Last update: 2024-09-11 01:03:18 UTC
README
这是一个 OneSignal 邮件(适用于 Laravel)的包装器。您可以在项目中像使用 Laravel 原生邮件发送者一样发送电子邮件,该包确保通过 OneSignal 邮件 API 使用您的 OneSignal 邮件账户发送电子邮件。
要求
支持 Laravel 版本 9.0、10.00、11.0 或更高版本。
安装
- 步骤 1:使用 composer 安装包。
composer require sineld/onesignal-mail:dev-main
- 步骤 2:将您的账户和 API 密钥添加到您的 .env 文件 中。
ONESIGNAL_MAIL_URL=https://onesignal.com/api/v1/notifications
ONESIGNAL_MAIL_API=<Your API KEY>
ONESIGNAL_MAIL_APP_ID=<Your APP ID>
- 步骤 3:在 .env 文件 中将 MAIL_MAILER 更改为 'onesignal-mail'。
MAIL_MAILER=onesignal-mail
- 步骤 4:将此新邮件发送者添加到您的 config/mail.php* 文件中。
'mailers' => [ ... 'onesignal-mail' => [ 'transport' => 'onesignal-mail', 'api_url' => env('ONESIGNAL_MAIL_URL'), 'api_key' => env('ONESIGNAL_MAIL_API'), 'app_id' => env('ONESIGNAL_MAIL_APP_ID'), ], ... ],
- 步骤 5:在您的 config/app.php 文件(Laravel 11+ bootstrap/providers.php)中的 providers 数组中添加以下包提供者
'providers' => [ /* * Laravel Framework Service Providers... */ ... Sineld\OneSignalMail\OneSignalMailServiceProvider::class ... ],
用法
// Create **contact.blade.php** file under **resources/views** folder with this content: <p>Hello {{ $name }}, ({{ $email }})</p> <p>{{ $subject }}</p> <p>{{ $body }}</p> // Send your email $data = [ 'name' => 'Recieptant Name', 'email' => 'recieptant-name@gmail.com', 'subject' => 'Hello World!', 'body' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', ]; Mail::send('contact', $data, function ($mail) use ($data) { $mail ->to( $data['email'], $data['name'] ) ->subject($data['subject']) // ->replyTo('support@your-company.com') ; }); // or use mailables!
阅读 Laravel 有关如何使用 Laravel 框架发送电子邮件的文档。