如何获取Pimcore管理员邮箱及Debug配置邮箱并查询存储位置?
Pimcore 邮箱地址获取与通知发送解决方案
1. 获取后台管理员邮箱地址
方式一:数据库直接查询
管理员用户数据存储在users表中,执行SQL语句即可获取:
SELECT email FROM users WHERE admin = 1;
该语句会返回所有具备管理员权限的用户邮箱。
方式二:Pimcore PHP API调用
在自定义脚本或扩展中,通过用户模型获取:
use Pimcore\Model\User; // 查询所有管理员用户 $adminUsers = User::getList([ 'condition' => 'admin = 1' ]); // 遍历获取每个管理员邮箱 foreach ($adminUsers as $user) { $adminEmail = $user->getEmail(); // 此处可直接使用$adminEmail执行通知发送逻辑 }
2. 获取Debug配置邮箱、发送通知及存储位置
获取邮箱地址
方式一:通过Pimcore配置类读取
use Pimcore\Config; // 加载系统配置 $systemConfig = Config::getSystemConfig(); // 提取Debug页配置的邮箱 $debugEmail = $systemConfig['debug']['email'];
方式二:数据库查询存储位置
该配置存储在system_settings表中,name字段值为system,data字段是JSON格式数据,解析后路径为debug -> email:
SELECT data FROM system_settings WHERE name = 'system';
向Debug邮箱发送通知
借助Pimcore集成的Symfony Mailer组件实现邮件发送:
use Symfony\Component\Mailer\MailerInterface; use Symfony\Component\Mime\Email; use Pimcore\Config; // 在控制器或服务中注入MailerInterface public function sendDebugAlert(MailerInterface $mailer) { $systemConfig = Config::getSystemConfig(); $debugEmail = $systemConfig['debug']['email']; $email = (new Email()) ->from('app-notice@your-domain.com') ->to($debugEmail) ->subject('应用程序调试通知') ->text('这是一条来自Pimcore应用的调试告警信息。'); $mailer->send($email); }
内容的提问来源于stack exchange,提问作者Eugene Kaurov
相关产品推荐
相关产品推荐

