binomeway / nova-contact-tool
此包已被弃用,不再维护。未建议替代包。
一个 Laravel Nova 工具,用于配置联系详情并基于这些详情发送邮件。
v1.0.6
2021-08-12 13:47 UTC
Requires
- php: >=8.0
- dacastro4/laravel-gmail: ^5.1.21
- eminiarts/nova-tabs: ^1.4
- laravel/nova: ^3.0
- optimistdigital/nova-settings: ^3.1
- spatie/laravel-package-tools: ^1.1
- whitecube/nova-flexible-content: ^0.2.4
README
用于管理联系信息(如:电子邮件、电话、社交媒体和表单)的包。
安装
您可以通过 composer 安装此包
composer require binomeway/nova-contact-tool
安装 nova-settings
composer require optimistdigital/nova-settings
将以下行添加到 NovaServiceProvider.php 文件中的 boot 方法,以便能够在 Nova 中修改联系数据。
// NovaServiceProvider.php public function tools() { return [ \OptimistDigital\NovaSettings\NovaSettings\NovaSettings::make(), \BinomeWay\NovaContactTool\NovaContactTool\NovaContactTool::make(), ]; }
您必须发布并运行迁移
php artisan vendor:publish --provider="BinomeWay\NovaContactTool\ToolServiceProvider" --tag="nova-contact-tool-migrations" php artisan migrate
如果需要,您可以发布配置文件。
php artisan vendor:publish --provider="BinomeWay\NovaContactTool\ToolServiceProvider" --tag="nova-contact-tool-config"
这是发布配置文件的内容
return [ 'default_to' => '', 'default_subject' => '', 'save_messages' => true, 'save_subscribers' => true, 'priority' => 3, 'delete_on_unsubscribe' => false, 'enable_gmail_api' => env('ENABLE_GMAIL_API', false), ];
用法
订阅者
创建一个新的订阅者。
use BinomeWay\NovaContactTool\Facades\Contact; $subscriber = Contact::subscribe($email, $name, $phone);
use BinomeWay\NovaContactTool\Facades\Contact; Contact::unsubscribe($subscriber);
发送邮件
发送邮件非常简单。
use BinomeWay\NovaContactTool\Facades\Contact; Contact::send($message, $subscriber);
示例
use BinomeWay\NovaContactTool\Facades\Contact; use BinomeWay\NovaContactTool\Models\Subscriber; // Perform validations // Create a subscriber $subscriber = new Subscriber(); // or use the subscribe method $subscriber = Contact::subscribe($email, $name, $phone); $message = 'Hello!'; $to = 'hello@binomeway.com'; // Optional $contact = Contact::send($message, $subscriber, $to); // Checking if the mail was sent. if($contact->hasSucceded()){ flash()->message('success', 'Yay! Email was sent.'); } if($contact->hasFailed()){ flash()->message('error', $contact->errorMessage()); }
使用 Gmail API 发送
首先您需要启用 Gmail API 功能。
ENABLE_GMAIL_API=true
然后,在 .env 文件中添加凭证。
GOOGLE_PROJECT_ID= GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GOOGLE_REDIRECT_URI=
或者通过添加到路径:storage/gmail/tokens/gmail-json.json 使用 JSON 凭证文件。
添加更多选项
GOOGLE_ALLOW_MULTIPLE_CREDENTIALS=true GOOGLE_ALLOW_JSON_ENCRYPT=true
下一步是使用管理面板授权一个 Gmail 账户。
这就完成了。现在您可以使用相同的 send 方法,它将正常工作。
注意:在 localhost 上授权登录将不会工作。Gmail 不允许本地域名。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志。
贡献
有关详细信息,请参阅 贡献指南。
安全漏洞
有关如何报告安全漏洞,请参阅 我们的安全策略。
致谢
许可协议
MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件。