callback = []; $this->authTag='none'; $this->check_route="email.check"; } /** * 发送邮件 * @param \Eloquent|string $email * @param string $templateId * @param array $titleParams * @param array $contentParams */ public function sendMail($email, string $templateId, array $titleParams = [], array $contentParams = []) { $emailJob=new EmailJob($email, $templateId, $titleParams, $contentParams); $emailJob->setCallback($this->callback); dispatch($emailJob); } /** * 发送确认邮件 * @param \Eloquent|string $email * @param string $templateId */ public function sendAuthMail($email, string $templateId) { $emailJob=new EmailJob($email, $templateId, [], [], true); $emailJob->setCallback($this->callback); $emailJob->setTag($this->authTag); $emailJob->setCheckRoute($this->check_route); dispatch($emailJob); } /** * 根据邮箱code返回缓存信息,如果存在则包含email,邮件模板alias两个字段 * @param string $code * @return null|array */ public function checkAuthEmail(string $code) { $result=Cache::pull($code, null); return $result; } /** * 批量发送短信 * @param array $mobiles * @param string $templateId * @param array $params */ public function sendBatchSms(array $mobiles, string $templateId, array $params = []) { // } /** * @param string $obj * @param string $method * @param array $args * @return EmailService */ public function setCallback(string $obj, string $method, array $args) { $this->callback[]=[$obj, $method]; $this->callback[]=$args; return $this; } public function setAuthTag(string $tag) { $this->authTag=$tag; return $this; } /** * @param string $check_route * @return EmailService */ public function setCheckRoute(string $check_route) { $this->check_route = $check_route; return $this; } }