Я использую Laravel 8 для приложения HRMS. У него несколько компаний, и каждый пользователь принадлежит компании. Изначально я использовал его для одной компании. Но теперь это для нескольких компаний с единой базой данных. В пользовательской таблице есть company_id.
Модели
class Company extends Model
{
protected $table = 'companies';
protected $fillable = [
'id',
'organization_code',
'organization_name'
];
}
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'name',
'first_name',
'last_name',
'company_id',
'email',
];
}
config / mail.php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.office365.com'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', '[email protected]'),
'name' => env('MAIL_FROM_NAME', 'COMPANY1'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME','[email protected]'),
'password' => env('MAIL_PASSWORD','company1'),
'sendmail' => '/usr/sbin/sendmail -bs',
'log_channel' => env('MAIL_LOG_CHANNEL'),
];
Вышеупомянутые учетные данные для почты предназначены для компании company1, но теперь у меня есть company1, comany2, company3, ... и так далее. У каждой компании будут свои учетные данные для почты.
$details = [
'subject' => '',
'greeting' => '',
'body' => ' ',
'line1' => '',
'thanks' => 'Thank you!',
'user_email' => $userEmail,
'actionText' => '',
];
Notification::route('mail', $details['user_email'])
->notify(new \App\Notifications\UserApprove($details))
Как отправить уведомление на основе учетных данных электронной почты компании вошедшего в систему пользователя?