/** * @param ThemeMailer $mailer */ public function handle(ThemeMailer $mailer) { //can't use the key 'message', it's being overridden probably by the mailer $data = array_merge(['email_from' => $this->email, 'email_from_name' => $this->name, 'email_to' => $this->contact->email, 'contact_message' => $this->message, 'subject' => $this->subject, 'email' => $this->email, 'name' => $this->name], $this->baseData()); $me = $this; $mailer->send('contact::email', $data, function ($message) use($me) { /* @var Message $message */ $message->subject($me->subject); if ($me->copy) { $message->cc($me->copy, $me->name); } }); }
/** * @param ThemeMailer $mail * @param TokenRepositoryInterface $tokens * @param Translator $lang * @param UserRepositoryInterface $users * @throws Exception */ public function handle(ThemeMailer $mail, TokenRepositoryInterface $tokens, Translator $lang, UserRepositoryInterface $users) { try { $user = $users->findUserByEmail($this->email); if ($user) { $token = $tokens->createNewToken(Token::TYPE_RESET, $this->email); $user->resetToken()->associate($token); $user->save(); $subject = $lang->get('users::emails.reset-password.subject'); $data = array_merge($this->baseData(), ['user' => $user, 'token' => $token, 'email_to' => $this->email]); $send = $mail->send('users::emails.reset-password', $data, $subject); if ($send) { $this->delete(); } } } catch (Exception $e) { $this->release(); throw $e; } }
/** * @param ThemeMailer $mail * @param Translator $lang * @param TokenRepositoryInterface $tokens * @throws \Exception */ public function handle(ThemeMailer $mail, Translator $lang, TokenRepositoryInterface $tokens) { try { $token = $tokens->createNewToken(Token::TYPE_CONFIRMATION, $this->user->email); if ($token) { $user = $this->user; $user->confirmationToken()->associate($token); $subject = $lang->get('users::emails.confirm-email.subject'); $data = array_merge($this->baseData(), ['user' => $user, 'token' => $token, 'email_to' => $user->email]); $send = $mail->send('users::emails.confirm-email', $data, $subject); if ($send) { $this->delete(); } $user->save(); } } catch (\Exception $e) { $this->release(); throw $e; } }
/** * @param ThemeMailer $mailer * @param Translator $lang */ public function handle(ThemeMailer $mailer, Translator $lang) { $data = array_merge($this->baseData(), ['invitation' => $this->invitation, 'email_to' => $this->invitation->email]); return $mailer->send('account::admin.members.invitation.email', $data, $lang->get('account::admin.users.you-are-invited')); }