/** * メール設定がされているかどうか * * @return bool */ public function isUserMailSend() { $from = SiteSettingUtil::read('Mail.from'); // Fromが空ならメール未設定のため、メール送らない if (empty($from)) { return false; } // cakeコマンドに実行権限なければ、メール送らない if (!MailSend::isExecutableCake()) { return false; } return true; }
/** * メールを送るかどうか - 共通処理 * * @param Model $model モデル * @param string $typeKey メールの種類 * @param string $settingPluginKey 設定を取得するプラグインキー * @return bool */ public function isMailSendCommon(Model $model, $typeKey = MailSettingFixedPhrase::DEFAULT_TYPE, $settingPluginKey = null) { if ($settingPluginKey === null) { $settingPluginKey = Current::read('Plugin.key'); } $from = SiteSettingUtil::read('Mail.from'); // Fromが空ならメール未設定のため、メール送らない if (empty($from)) { CakeLog::debug('[' . __METHOD__ . '] ' . __FILE__ . ' (line ' . __LINE__ . ')'); return false; } // cakeコマンドに実行権限なければ、メール送らない if (!MailSend::isExecutableCake()) { CakeLog::debug('[' . __METHOD__ . '] ' . __FILE__ . ' (line ' . __LINE__ . ')'); return false; } /** @see MailSetting::getMailSettingPlugin() */ $mailSettingPlugin = $model->MailSetting->getMailSettingPlugin(null, $typeKey, $settingPluginKey); $isMailSend = Hash::get($mailSettingPlugin, 'MailSetting.is_mail_send'); $isMailSendApproval = Hash::get($mailSettingPlugin, 'MailSetting.is_mail_send_approval'); // プラグイン設定でメール通知 and 承認メール通知をどちらも使わないなら、メール送らない if (!$isMailSend && !$isMailSendApproval) { CakeLog::debug('[' . __METHOD__ . '] ' . __FILE__ . ' (line ' . __LINE__ . ')'); return false; } $status = Hash::get($model->data, $model->alias . '.status'); // 一時保存はメール送らない if ($status == WorkflowComponent::STATUS_IN_DRAFT) { CakeLog::debug('[' . __METHOD__ . '] ' . __FILE__ . ' (line ' . __LINE__ . ')'); return false; } $block = Current::read('Block'); // ブロック非公開、期間外はメール送らない if (!$model->MailQueue->isSendBlockType($block, '')) { CakeLog::debug('[' . __METHOD__ . '] ' . __FILE__ . ' (line ' . __LINE__ . ')'); return false; } return true; }