You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3:如何配置通知邮件及网站状态定期通知

TYPO3 登录事件通知及定期状态邮件配置方案

一、登录相关事件邮件配置(失败/成功登录通知)

TYPO3没有内置一键开关,可通过以下两种方式实现:

1. 使用第三方扩展快速配置

用成熟的登录通知扩展(比如b13/login-notifications)是最省心的方式:

  • 安装扩展后,进入站点配置 > 配置预设或扩展专属设置页面
  • 分别开启「失败登录通知」和「成功登录通知」选项,填写管理员接收邮箱
  • 可选设置:排除特定IP(比如管理员常用办公IP),避免自己登录时重复触发通知

2. 自定义代码实现(适合有开发能力的场景)

在你的站点扩展里添加事件监听器,监听TYPO3的登录事件:

  • 创建监听器文件Classes/EventListener/LoginNotificationListener.php,代码示例:
<?php
namespace Vendor\YourSiteExtension\EventListener;

use TYPO3\CMS\Core\Mail\MailMessage;
use TYPO3\CMS\Core\Utility\GeneralUtility;

class LoginNotificationListener
{
    // 处理失败登录事件
    public function onLoginFailed(\TYPO3\CMS\Core\Authentication\Event\LoginAttemptFailedEvent $event): void
    {
        $mail = GeneralUtility::makeInstance(MailMessage::class);
        $mail->setFrom(['system@your-domain.tld' => 'TYPO3系统'])
             ->setTo(['admin@your-domain.tld' => '管理员'])
             ->setSubject('TYPO3后台登录失败提醒')
             ->setTextBody("账号:{$event->getUsername()},登录IP:{$event->getRequest()->getAttribute('remoteAddress')}")
             ->send();
    }

    // 处理成功登录事件
    public function onLoginSuccess(\TYPO3\CMS\Core\Authentication\Event\LoginSuccessfulEvent $event): void
    {
        $user = $event->getUser();
        $mail = GeneralUtility::makeInstance(MailMessage::class);
        $mail->setFrom(['system@your-domain.tld' => 'TYPO3系统'])
             ->setTo(['admin@your-domain.tld' => '管理员'])
             ->setSubject('TYPO3后台登录成功提醒')
             ->setTextBody("用户:{$user->getProperty('username')},登录IP:{$event->getRequest()->getAttribute('remoteAddress')}")
             ->send();
    }
}
  • 在Configuration/Services.yaml注册监听器:
services:
  Vendor\YourSiteExtension\EventListener\LoginNotificationListener:
    tags:
      - name: event.listener
        identifier: 'site-extension/login-failed'
        event: TYPO3\CMS\Core\Authentication\Event\LoginAttemptFailedEvent
        method: 'onLoginFailed'
      - name: event.listener
        identifier: 'site-extension/login-success'
        event: TYPO3\CMS\Core\Authentication\Event\LoginSuccessfulEvent
        method: 'onLoginSuccess'
  • 清除系统缓存后即可生效

二、定期网站状态邮件配置

利用TYPO3自带的lowlevel扩展结合调度任务实现:

  1. 确保lowlevel扩展已启用(默认状态下为启用)
  2. 进入系统 > 调度任务,点击「新建任务」:
    • 任务类型选择「System Status Check (lowlevel)」
    • 设置执行周期:根据需求选择每天/每周/每月执行一次
    • 任务配置项:
      • 勾选「发送邮件」选项
      • 填写管理员接收邮箱
      • 选择需要检查的状态项:比如系统更新、扩展更新、文件权限、数据库状态等
  3. 保存任务后,调度器会自动定期执行检查并发送状态报告邮件

内容的提问来源于stack exchange,提问作者Kar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:52:38