Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Specification: notification settings

Every setting that changes how notifications are made, handled, sent and run, with its default and its effect. Read it when you configure notifications for an installation or write an extension that adds handlers or…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/specifications/6.0/notifications-ini.md

On this page

Specification: notification settings

Every setting that changes how notifications are made, handled, sent and run, with its default and its effect. Read it when you configure notifications for an installation or write an extension that adds handlers or event types. The defaults are the ones in the files of the distribution: settings/notification.ini, settings/site.ini, settings/cronjob.ini and settings/menu.ini. Change them in settings/override/<file>.append.php or in the settings of a siteaccess or an extension, never in the distribution file (see INI override placements). After a change clear the INI cache: php bin/php/ezcache.php --clear-tag=ini --allow-root-user.

notification.ini

[RuleSettings]

KeyDefaultEffect
LimitDeleteElements50How many digest items the general digest handler removes in one query after it has sent a digest. It keeps the query below the limits of the database (statement length, number of values in IN ()). A value of 0 or empty is treated as 50
RetryHours72How many hours a notification that the mail transport refused is tried again, at every run. Counted from when the digest was due, or from the time of the content for a message sent at once. After that it is given up, removed and counted as dropped (status page: given up). A value of 0 or less means 72
RepositoryDirectories[], ExtensionDirectories[], Alias[]kernel/notification/rules, none, advanced=ezadvanced, general=ezgeneral, keyword=ezkeywordLeft over from rule types of earlier versions. Nothing in the kernel reads them any more

[NotificationEventTypeSettings]

KeyDefaultEffect
RepositoryDirectories[]kernel/classes/notification/event/Directories searched for an event type. The class file of the type <name> is <directory>/<name>/<name>type.php and it registers itself with eZNotificationEventType::register( '<name>', '<ClassName>' )
ExtensionDirectories[]noneNames of extensions. Each is searched in extension/<name>/notificationtypes/<type>/<type>type.php
AvailableNotificationEventTypes[]ezpublish, eznewcontent, ezcurrenttime, ezcollaborationThe event types that may be loaded all at once (eZNotificationEventType::loadAndRegisterAllTypes()). A type is also loaded the first time an event of that type is created or read, whether it is listed or not. eznewcontent has no class in the distribution: loading it logs "Notification event type not found"; no code in the kernel creates such events

[NotificationEventHandlerSettings]

KeyDefaultEffect
RepositoryDirectories[]kernel/classes/notification/handler/Directories searched for a handler. The class file of the handler <name> is <directory>/<name>/<name>handler.php and the class is <name>handler
ExtensionDirectories[]noneNames of extensions. Each is searched in extension/<name>/notification/handler/<name>/<name>handler.php
AvailableNotificationEventTypes[]ezgeneraldigest, ezcollaborationnotification, ezsubtreeThe handlers that run, in this order. Every pending event is given to every listed handler. The key is called AvailableNotificationEventTypes although it lists handlers. A listed handler whose file is not found is logged as an error and skipped. Remove a name to switch that handler off (for example ezcollaborationnotification on a site without collaboration)

The id a handler gives itself (id_string) names its settings templates: notification/handler/<id_string>/settings/edit.tpl and its mail templates in notification/handler/<id_string>/view/. The collaboration handler is listed as ezcollaborationnotification but its id is ezcollaboration, so its templates are in notification/handler/ezcollaboration/.

[TransportSettings]

KeyDefaultEffect
DefaultTransportmailThe notification transport used when a caller names none. The built-in handlers always name ezmail (the class eZMailNotificationTransport, which sends through the mail transport of site.ini), so this value is not used by them
TransportPluginPath[]noneMore directories searched for a notification transport. A transport <name> is the file <path>/<name>notificationtransport.php with the class <name>notificationtransport. kernel/classes/notification/ is always searched first

[MailSettings]

KeyDefaultEffect
EmailSenderemptyThe sender address of notification mail. If empty, site.ini [MailSettings] EmailSender is used, then its AdminEmail. The status page reports an error when no valid sender is left

site.ini

[MailSettings]

KeyDefaultEffect on notifications
TransportsendmailHow mail leaves the server: sendmail, smtp or file. With file the mail is written to files and nothing is sent. The status page notes it
TransportAlias[]file=eZFileTransport, sendmail=eZSendmailTransport, smtp=eZSMTPTransportMaps a Transport value to its class. Add one to bring your own
FileTransportDirectoryempty (means var/log/mail)The directory the file transport writes to. Not in the distribution file; added in this version, see the upgrade notes. Relative to the installation root
EmailSender, AdminEmailempty, [email protected]Fallback sender, see above. Change AdminEmail on every installation
EmailReplyToemptyReply-to of mail made through eZMail defaults
UserAgentemptyThe User-Agent header of every mail made through eZMail, notification mail included (ASCII only). Empty keeps Exponential, Version <version> (sendmail, file) and Apache Zeta Components (SMTP)
DebugSending, DebugReceiverEmaildisabled, emptyWhen enabled, the sendmail and SMTP transports send every mail to DebugReceiverEmail instead of the real recipients. A safety net on a staging copy of a real site. Does not apply to the file transport
TransportServer, TransportPort, TransportConnectionType, TransportUser, TransportPassword, SenderHostempty, 25, empty, empty, empty, localhostSMTP connection
SendmailOptions[], SendmailInsertUndisclosedRecipientnone, enabledSendmail options; notification mail has its recipients in Bcc and To: undisclosed-recipients:;
ExcludeHeaders[]noneHeaders left out of the message (SMTP only)

Other settings that matter

File, block, keyDefaultEffect
site.ini [SiteSettings] SiteURLper installationThe host name written into the links and the footer of the mails, and into the digest subject
site.ini [DatabaseSettings] TransactionsenabledNeeded for exp:notification:run --dry-run, which rolls a transaction back
site.ini [RunnableSettings] Listeners[], Implementation[]noneHook into or replace the commands, the cronjob part and the views, see the runnable classes
site.ini [ExtensionSettings] ActiveExtensions[]per installationAn extension that adds handlers or event types must be active
The mail templatesOrdinary templates: override them as any other, see template override ordering

cronjob.ini

Block, keyDefaultEffect
[CronjobPart-frequent] Scripts[]contains notification.phpThe group that php runcronjobs.php frequent runs, with the workflow, content jobs and audit parts. This is where the notification part normally runs
[CronjobPart-notification] Scripts[]notification.phpThe notification part on its own: php runcronjobs.php notification
[CronjobSettings] MaxScriptExecutionTime43200Seconds after which a locked cronjob part is taken over by the next run (twice that and the old one is ended). A per-part value MaxScriptExecutionTime in [CronjobPart-<name>] overrides it

The notification service has its own run lock (var/<var dir>/notification/run.lock) that is not a setting: it is released by the system when the process ends, so a crashed run leaves no lock behind.

Block, keyDefaultEffect
[Leftmenu_setup] Links[notification]notification/statusThe Setup menu entry "Notification" that opens the status page
[Leftmenu_setup] PolicyList_notification[]notification/administrateWho sees it
[Leftmenu_my] Links[my_notifications], PolicyList_my_notifications[]notification/settings, notification/useThe "My notification settings" entry

Policies

Module / functionGives access to
notification/usesettings, addtonotification (a user's own settings)
notification/administratestatus, job, runfilter

Files written

Path (under the siteaccess var directory, for example var/site/)Content
notification/runs.jsonlOne JSON line per run, the newest 200 are kept
notification/run.lockThe run lock; holds the process id and start time of the run in progress
notification/jobs/<id>.jsonl, <id>.logProgress and output of a run started from the status page; the newest 20 are kept

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x