modoboa 2.4.11__py3-none-any.whl → 2.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- modoboa/admin/api/v2/serializers.py +14 -0
- modoboa/amavis/__init__.py +3 -0
- modoboa/amavis/app_settings.py +276 -0
- modoboa/amavis/apps.py +18 -0
- modoboa/amavis/checks/__init__.py +2 -0
- modoboa/amavis/checks/settings_checks.py +59 -0
- modoboa/amavis/dbrouter.py +35 -0
- modoboa/amavis/factories.py +164 -0
- modoboa/amavis/handlers.py +146 -0
- modoboa/amavis/lib.py +381 -0
- modoboa/amavis/management/__init__.py +0 -0
- modoboa/amavis/management/commands/__init__.py +0 -0
- modoboa/amavis/management/commands/amnotify.py +99 -0
- modoboa/amavis/management/commands/qcleanup.py +84 -0
- modoboa/amavis/migrations/0001_initial.py +340 -0
- modoboa/amavis/migrations/__init__.py +0 -0
- modoboa/amavis/models.py +226 -0
- modoboa/amavis/serializers.py +139 -0
- modoboa/amavis/sql_connector.py +240 -0
- modoboa/amavis/sql_email.py +66 -0
- modoboa/amavis/tasks.py +33 -0
- modoboa/amavis/templates/amavis/notifications/pending_requests.html +16 -0
- modoboa/amavis/tests/__init__.py +0 -0
- modoboa/amavis/tests/sa-learn +3 -0
- modoboa/amavis/tests/sample_messages/quarantined-input.txt +80 -0
- modoboa/amavis/tests/sample_messages/quarantined-output-plain_nolinks.txt +17 -0
- modoboa/amavis/tests/spamc +3 -0
- modoboa/amavis/tests/test_checks.py +25 -0
- modoboa/amavis/tests/test_handlers.py +214 -0
- modoboa/amavis/tests/test_lib.py +90 -0
- modoboa/amavis/tests/test_management_commands.py +45 -0
- modoboa/amavis/tests/test_sql_email.py +67 -0
- modoboa/amavis/tests/test_utils.py +19 -0
- modoboa/amavis/tests/test_viewsets.py +319 -0
- modoboa/amavis/urls.py +11 -0
- modoboa/amavis/utils.py +105 -0
- modoboa/amavis/viewsets.py +265 -0
- modoboa/core/api/v1/serializers.py +7 -5
- modoboa/core/api/v2/serializers.py +4 -2
- modoboa/core/api/v2/tests.py +16 -4
- modoboa/core/api/v2/urls.py +5 -5
- modoboa/core/api/v2/views.py +3 -1
- modoboa/core/api/v2/viewsets.py +24 -3
- modoboa/core/handlers.py +6 -2
- modoboa/core/management/commands/add_allowed_hosts.py +33 -0
- modoboa/core/management/commands/load_initial_data.py +10 -0
- modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py +23 -5
- modoboa/core/tests/test_core.py +24 -0
- modoboa/core/utils.py +3 -0
- modoboa/frontend_dist/assets/AccountAliasForm-BuSy_1n9.js +1 -0
- modoboa/frontend_dist/assets/AccountEditView-qdJmLM_e.js +1 -0
- modoboa/frontend_dist/assets/AccountLayout-DrN7vHsX.js +1 -0
- modoboa/frontend_dist/assets/AccountPasswordSubForm-DZGt_Xgq.js +1 -0
- modoboa/frontend_dist/assets/AccountView-CO65y0vZ.js +1 -0
- modoboa/frontend_dist/assets/AddressBook-BZNUlhek.js +1 -0
- modoboa/frontend_dist/assets/AdminLayout-CTNhuwTw.js +1 -0
- modoboa/frontend_dist/assets/AlarmsView-9yKGbmkC.css +1 -0
- modoboa/frontend_dist/assets/AlarmsView-DN_JIw9g.js +1 -0
- modoboa/frontend_dist/assets/AliasEditView-DjpPUTp9.js +1 -0
- modoboa/frontend_dist/assets/{AliasRecipientForm-IOae6sjF.js → AliasRecipientForm-B1Y8wFdP.js} +1 -1
- modoboa/frontend_dist/assets/AliasView-GOJ5lyQH.js +1 -0
- modoboa/frontend_dist/assets/AuditTrailView-fbXmq70e.js +1 -0
- modoboa/frontend_dist/assets/CalendarView-LlQQNEPL.js +1 -0
- modoboa/frontend_dist/assets/{ChoiceField-DJ_c78Cm.js → ChoiceField-B3ReQHVe.js} +1 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-Bs1fZXAL.js +1 -0
- modoboa/frontend_dist/assets/ComposeEmailView-s3LMl3pO.js +1 -0
- modoboa/frontend_dist/assets/ConfirmDialog-DY_kUHLG.js +1 -0
- modoboa/frontend_dist/assets/{ConnectedLayout-Dvwmicnc.css → ConnectedLayout-Bxh21hcH.css} +1 -1
- modoboa/frontend_dist/assets/ConnectedLayout-UWjiYBNw.js +1 -0
- modoboa/frontend_dist/assets/CreationForm-ORg3fazt.js +1 -0
- modoboa/frontend_dist/assets/DashboardView-Dplk9itS.js +1 -0
- modoboa/frontend_dist/assets/DomainAdminList-DVn9x0rB.js +1 -0
- modoboa/frontend_dist/assets/DomainEditView-nAoL64D_.js +1 -0
- modoboa/frontend_dist/assets/{DomainTransportForm-C2xo0Yd7.js → DomainTransportForm-CA-DNUxX.js} +1 -1
- modoboa/frontend_dist/assets/{DomainView-BDKoBFYr.css → DomainView-CCLYXPHx.css} +1 -1
- modoboa/frontend_dist/assets/DomainView-CdXPpwJG.js +5 -0
- modoboa/frontend_dist/assets/DomainsView-B_59gowf.js +1 -0
- modoboa/frontend_dist/assets/DomainsView-DZ-ss9bI.css +1 -0
- modoboa/frontend_dist/assets/EmailField-CwcwI5xW.js +1 -0
- modoboa/frontend_dist/assets/EmailView-BshxcfAK.js +1 -0
- modoboa/frontend_dist/assets/EmptyLayout-DFfhnhLi.js +1 -0
- modoboa/frontend_dist/assets/FiltersView-Cf20MSTK.js +1 -0
- modoboa/frontend_dist/assets/ForwardEmailView-CZG062os.js +1 -0
- modoboa/frontend_dist/assets/{HtmlEditor-CJ9umKeO.js → HtmlEditor-Bh4c689R.js} +1 -1
- modoboa/frontend_dist/assets/IdentitiesView-BXAuU1YX.js +1 -0
- modoboa/frontend_dist/assets/{IdentitiesView-0ziuQ5s-.css → IdentitiesView-DPrrRMS5.css} +1 -1
- modoboa/frontend_dist/assets/InformationView-C9vvvQhJ.css +1 -0
- modoboa/frontend_dist/assets/InformationView-Cn5FZW7H.js +1 -0
- modoboa/frontend_dist/assets/{LoadingData-CYwX3Jpn.js → LoadingData-CdVvm4FI.js} +1 -1
- modoboa/frontend_dist/assets/{LoginCallbackView-E01qkKn0.js → LoginCallbackView-B9hAH4MI.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-Cy4uFV9h.js → LoginView-tHIR4Adc.js} +1 -1
- modoboa/frontend_dist/assets/MailboxView-Bugu2vhg.js +1 -0
- modoboa/frontend_dist/assets/MenuItems-PXjiG-fs.js +1 -0
- modoboa/frontend_dist/assets/MessageView-Cy4STShm.js +1 -0
- modoboa/frontend_dist/assets/MessagesView-DdkuEgfX.js +1 -0
- modoboa/frontend_dist/assets/MigrationsView-CidSEjCF.js +1 -0
- modoboa/frontend_dist/assets/{ParametersForm-BZM0QSvg.js → ParametersForm-CAv4SH-E.js} +1 -1
- modoboa/frontend_dist/assets/ParametersView-CX7Ffemw.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-CrbNcmV3.js +1 -0
- modoboa/frontend_dist/assets/ProviderEditView-CrltAQXl.js +1 -0
- modoboa/frontend_dist/assets/ProviderGeneralForm-BYAzVnXM.js +1 -0
- modoboa/frontend_dist/assets/ProvidersView-osjIY4Ex.js +1 -0
- modoboa/frontend_dist/assets/QuarantineLayout-B8EcU9vS.js +1 -0
- modoboa/frontend_dist/assets/QuarantineView-D4gOE4EQ.css +1 -0
- modoboa/frontend_dist/assets/QuarantineView-D8Qg0MXA.js +1 -0
- modoboa/frontend_dist/assets/ReplyEmailView-BABPqWhd.js +1 -0
- modoboa/frontend_dist/assets/ResourcesForm-OaqdRYVs.js +1 -0
- modoboa/frontend_dist/assets/SelfServiceLayout-d277YTGR.js +1 -0
- modoboa/frontend_dist/assets/{SettingsView-BxLJBFY0.js → SettingsView-9iNcDhkI.js} +2 -2
- modoboa/frontend_dist/assets/StatisticsView-cHsPyGkL.js +1 -0
- modoboa/frontend_dist/assets/TimeSerieChart--V83dcJ9.js +1 -0
- modoboa/frontend_dist/assets/UserLayout-B3sBiTcZ.js +1 -0
- modoboa/frontend_dist/assets/VAlert-BuaaYN2h.js +1 -0
- modoboa/frontend_dist/assets/VApp-CKP-6zGP.js +1 -0
- modoboa/frontend_dist/assets/VAutocomplete-Dwv6_Rzq.js +1 -0
- modoboa/frontend_dist/assets/VAvatar-Cmga0vj6.js +1 -0
- modoboa/frontend_dist/assets/VBadge-BQrRJ9S0.css +1 -0
- modoboa/frontend_dist/assets/VBadge-CixeK87a.js +1 -0
- modoboa/frontend_dist/assets/VCard-CxH9DWoK.js +1 -0
- modoboa/frontend_dist/assets/VCheckbox-62GOpvvP.js +1 -0
- modoboa/frontend_dist/assets/{VCheckboxBtn-Dt810gWf.js → VCheckboxBtn-DMoNtKT8.js} +1 -1
- modoboa/frontend_dist/assets/VChip-D_styETR.js +1 -0
- modoboa/frontend_dist/assets/VColorPicker-BHscBGQV.js +1 -0
- modoboa/frontend_dist/assets/{VContainer-DvTbsotR.js → VContainer-B46caNs1.js} +1 -1
- modoboa/frontend_dist/assets/VDataTable-Bh8NbVSx.js +1 -0
- modoboa/frontend_dist/assets/VDataTableServer-BDR5hOmo.js +1 -0
- modoboa/frontend_dist/assets/VDataTableVirtual-BOQlNtIG.js +1 -0
- modoboa/frontend_dist/assets/{VDialog-Bk6EWNhz.js → VDialog-BcTg7w6P.js} +1 -1
- modoboa/frontend_dist/assets/VExpansionPanels-BmH5Jl2Z.js +1 -0
- modoboa/frontend_dist/assets/VFileInput-BC4yAygd.js +1 -0
- modoboa/frontend_dist/assets/VForm-D5iPGkde.js +1 -0
- modoboa/frontend_dist/assets/VInput-CcxkaOXT.css +1 -0
- modoboa/frontend_dist/assets/VInput-CoDJzvaW.js +1 -0
- modoboa/frontend_dist/assets/VMenu-gUG70-zD.js +1 -0
- modoboa/frontend_dist/assets/VPicker-BXuKT3zB.js +1 -0
- modoboa/frontend_dist/assets/VProgressCircular-BtOPiGCg.js +1 -0
- modoboa/frontend_dist/assets/VRadioGroup-DIFZKSn-.js +1 -0
- modoboa/frontend_dist/assets/{VRow-BF35mT1S.js → VRow-ozg66L7j.js} +1 -1
- modoboa/frontend_dist/assets/VSelect-C3RjAa45.js +1 -0
- modoboa/frontend_dist/assets/VSelectionControl-zyz-fJvC.js +1 -0
- modoboa/frontend_dist/assets/VSheet-BNx2X4Mk.js +1 -0
- modoboa/frontend_dist/assets/VSpacer-DinPiXs9.js +1 -0
- modoboa/frontend_dist/assets/VSwitch-DwxdeAEq.js +1 -0
- modoboa/frontend_dist/assets/VTable-DaLxa4FO.js +1 -0
- modoboa/frontend_dist/assets/VTabs-BP0Hgsgm.js +1 -0
- modoboa/frontend_dist/assets/VTextField-BzBVKKob.css +1 -0
- modoboa/frontend_dist/assets/VTextField-XoGTj1KG.js +1 -0
- modoboa/frontend_dist/assets/VTextarea-wBlRMIv_.js +1 -0
- modoboa/frontend_dist/assets/VToolbar-CFZfqeOr.js +1 -0
- modoboa/frontend_dist/assets/VWindowItem-BB7ETW3b.js +1 -0
- modoboa/frontend_dist/assets/WebmailLayout-_Hk1XhVq.js +1 -0
- modoboa/frontend_dist/assets/accounts-DUzbx6k8.js +1 -0
- modoboa/frontend_dist/assets/{admin-o-HRGnmT.js → admin-DewTk2H8.js} +1 -1
- modoboa/frontend_dist/assets/{aliases-DDVeehyg.js → aliases-4sXmjwXp.js} +1 -1
- modoboa/frontend_dist/assets/amavis-CC0li7_T.js +1 -0
- modoboa/frontend_dist/assets/amavis-DK8SHE6o.js +1 -0
- modoboa/frontend_dist/assets/{contacts-C84DY-Q1.js → contacts-BjghrPqZ.js} +1 -1
- modoboa/frontend_dist/assets/{domains-Bgn4ixHL.js → domains-BSawReeu.js} +1 -1
- modoboa/frontend_dist/assets/{domains.store-DTE-V7Y1.js → domains.store-D-vWCEIK.js} +1 -1
- modoboa/frontend_dist/assets/{filter-CnffiQAW.js → filter-C82FUCw_.js} +1 -1
- modoboa/frontend_dist/assets/forwardRefs-cvcnlhoK.js +1 -0
- modoboa/frontend_dist/assets/global.store-DbkcI5o2.js +1 -0
- modoboa/frontend_dist/assets/{importExport-BlQYb0NO.js → importExport-DzoL4Mvc.js} +1 -1
- modoboa/frontend_dist/assets/index-BImkz5Jx.js +984 -0
- modoboa/frontend_dist/assets/layout-C5FyYCHK.js +1 -0
- modoboa/frontend_dist/assets/{layout.store-DkjrAoXt.js → layout.store-NXWtFIwL.js} +1 -1
- modoboa/frontend_dist/assets/{logos-q8SEyAa4.js → logos-BswdveCV.js} +1 -1
- modoboa/frontend_dist/assets/{logs-B7IJ7LBa.js → logs-6CbtfaZS.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-A6iBEYQq.js → parameters-aSQiR7kN.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-BiXS4_6w.js → parameters.store-CzQqVatx.js} +1 -1
- modoboa/frontend_dist/assets/permissions-DNoefz-n.js +1 -0
- modoboa/frontend_dist/assets/{ssrBoot-AzTdjPjk.js → ssrBoot-CKUX4kcb.js} +1 -1
- modoboa/frontend_dist/assets/{tag-BnSYRTcD.js → tag-B_yWNNJD.js} +1 -1
- modoboa/frontend_dist/assets/transports-BDNB9wR5.js +1 -0
- modoboa/frontend_dist/assets/{webmail-CSH_3l6R.js → webmail-CdU6CD9b.js} +1 -1
- modoboa/frontend_dist/index.html +1 -1
- modoboa/lib/email_utils.py +2 -2
- modoboa/lib/permissions.py +7 -0
- modoboa/lib/test_runners.py +29 -0
- modoboa/lib/tests/__init__.py +5 -1
- modoboa/locale/br/LC_MESSAGES/django.po +87 -75
- modoboa/locale/cs/LC_MESSAGES/django.po +82 -74
- modoboa/locale/cs_CZ/LC_MESSAGES/django.po +145 -121
- modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de/LC_MESSAGES/django.po +339 -651
- modoboa/locale/de_DE/LC_MESSAGES/django.po +87 -75
- modoboa/locale/el_GR/LC_MESSAGES/django.po +160 -135
- modoboa/locale/en/LC_MESSAGES/django.po +82 -74
- modoboa/locale/es/LC_MESSAGES/django.po +158 -131
- modoboa/locale/es_MX/LC_MESSAGES/django.po +82 -74
- modoboa/locale/fi/LC_MESSAGES/django.po +87 -75
- modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fr/LC_MESSAGES/django.po +469 -201
- modoboa/locale/hu/LC_MESSAGES/django.po +82 -74
- modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/it/LC_MESSAGES/django.po +148 -122
- modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ja_JP/LC_MESSAGES/django.po +80 -72
- modoboa/locale/ka/LC_MESSAGES/django.po +82 -74
- modoboa/locale/nl_NL/LC_MESSAGES/django.po +160 -132
- modoboa/locale/no/LC_MESSAGES/django.po +82 -74
- modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pl_PL/LC_MESSAGES/django.po +172 -149
- modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_BR/LC_MESSAGES/django.po +172 -144
- modoboa/locale/pt_PT/LC_MESSAGES/django.po +135 -112
- modoboa/locale/ro_RO/LC_MESSAGES/django.po +87 -75
- modoboa/locale/ru/LC_MESSAGES/django.po +142 -118
- modoboa/locale/si/LC_MESSAGES/django.po +82 -74
- modoboa/locale/sk/LC_MESSAGES/django.po +82 -74
- modoboa/locale/sk_SK/LC_MESSAGES/django.po +84 -76
- modoboa/locale/sl_SI/LC_MESSAGES/django.po +90 -76
- modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/sv/LC_MESSAGES/django.po +172 -139
- modoboa/locale/tr/LC_MESSAGES/django.po +87 -75
- modoboa/locale/tr_TR/LC_MESSAGES/django.po +84 -74
- modoboa/locale/uk/LC_MESSAGES/django.po +82 -74
- modoboa/locale/zh/LC_MESSAGES/django.po +82 -74
- modoboa/locale/zh_CN/LC_MESSAGES/django.po +82 -74
- modoboa/locale/zh_TW/LC_MESSAGES/django.po +87 -75
- modoboa/parameters/api/v2/tests.py +2 -2
- modoboa/parameters/api/v2/viewsets.py +2 -0
- modoboa/policyd/tests.py +2 -0
- modoboa/urls_api_v2.py +6 -0
- {modoboa-2.4.11.dist-info → modoboa-2.5.0.dist-info}/METADATA +6 -4
- {modoboa-2.4.11.dist-info → modoboa-2.5.0.dist-info}/RECORD +231 -181
- modoboa/frontend_dist/assets/AccountAliasForm-BV6KvTu6.js +0 -1
- modoboa/frontend_dist/assets/AccountEditView-DDOFyfBD.js +0 -1
- modoboa/frontend_dist/assets/AccountLayout-rX51xgxT.js +0 -1
- modoboa/frontend_dist/assets/AccountPasswordSubForm-D9S6LaeH.js +0 -1
- modoboa/frontend_dist/assets/AccountView-cmvaZNq3.js +0 -1
- modoboa/frontend_dist/assets/AddressBook-DCJxL8SU.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-r0wfG2lO.js +0 -1
- modoboa/frontend_dist/assets/AlarmsView-Bheey-gp.css +0 -1
- modoboa/frontend_dist/assets/AlarmsView-C0bqC4PA.js +0 -1
- modoboa/frontend_dist/assets/AliasEditView-DVoWoCGY.js +0 -1
- modoboa/frontend_dist/assets/AliasView-DrONZXOh.js +0 -1
- modoboa/frontend_dist/assets/AuditTrailView-OTkoZaMU.js +0 -1
- modoboa/frontend_dist/assets/CalendarView-CqF4_Ui9.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-DO5_GB3e.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-A91HCBsN.js +0 -1
- modoboa/frontend_dist/assets/ConfirmDialog-BBcgdAnO.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-1oRW-Rql.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-71YJbjsA.js +0 -1
- modoboa/frontend_dist/assets/DashboardView-CdLpSfUl.js +0 -1
- modoboa/frontend_dist/assets/DomainAdminList-BjC4KsqI.js +0 -1
- modoboa/frontend_dist/assets/DomainEditView-CQjKwYxl.js +0 -1
- modoboa/frontend_dist/assets/DomainView-BhhuZI_N.js +0 -5
- modoboa/frontend_dist/assets/DomainsView-Cft4BP8Z.js +0 -1
- modoboa/frontend_dist/assets/DomainsView-DasJ0NdZ.css +0 -1
- modoboa/frontend_dist/assets/EmailField-C8umy0EU.js +0 -1
- modoboa/frontend_dist/assets/EmailView-ki7uEQPD.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-DaA1XH9n.js +0 -1
- modoboa/frontend_dist/assets/FiltersView-FYFZxG4B.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-cUbnSYCF.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-njNo8N5n.js +0 -1
- modoboa/frontend_dist/assets/InformationView-D1h38POt.js +0 -1
- modoboa/frontend_dist/assets/InformationView-U5Ww-Sx1.css +0 -1
- modoboa/frontend_dist/assets/MailboxView-IlrLWm_H.js +0 -1
- modoboa/frontend_dist/assets/MenuItems-BAtHWzAE.js +0 -1
- modoboa/frontend_dist/assets/MessagesView-OSpjixFq.js +0 -1
- modoboa/frontend_dist/assets/MigrationsView-DKNOsVzF.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-C4bXASiq.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-CYXgNmc1.js +0 -1
- modoboa/frontend_dist/assets/ProviderEditView-CyxCWTST.js +0 -1
- modoboa/frontend_dist/assets/ProviderGeneralForm-BYPjNHqB.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-CxrMkRyk.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-Dkw9-N26.js +0 -1
- modoboa/frontend_dist/assets/ResourcesForm-CuUvrOdY.js +0 -1
- modoboa/frontend_dist/assets/StatisticsView-BN7QsZMT.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-BMN8BeFZ.js +0 -1
- modoboa/frontend_dist/assets/UserLayout-B6-JQg4F.js +0 -1
- modoboa/frontend_dist/assets/VAlert-DIQTrRif.js +0 -1
- modoboa/frontend_dist/assets/VApp-CpkYA7js.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-C4IpXyl8.js +0 -1
- modoboa/frontend_dist/assets/VAvatar-Lpb-Dion.js +0 -1
- modoboa/frontend_dist/assets/VCard-er_isjE_.js +0 -1
- modoboa/frontend_dist/assets/VCheckbox-D-u8JXP1.js +0 -1
- modoboa/frontend_dist/assets/VChip-B4iSpj8_.js +0 -1
- modoboa/frontend_dist/assets/VColorPicker-BAjGDsXv.js +0 -1
- modoboa/frontend_dist/assets/VDataTable-4JRjbtgF.js +0 -1
- modoboa/frontend_dist/assets/VDataTableServer-tIDT1m3-.js +0 -1
- modoboa/frontend_dist/assets/VDataTableVirtual-BlnO18u_.js +0 -1
- modoboa/frontend_dist/assets/VExpansionPanels-CwGtXDhr.js +0 -1
- modoboa/frontend_dist/assets/VFileInput-D1_7ZkO_.js +0 -1
- modoboa/frontend_dist/assets/VForm-DAkW4nfy.js +0 -1
- modoboa/frontend_dist/assets/VMenu-BPFJwj2f.js +0 -1
- modoboa/frontend_dist/assets/VPicker-CfT82M8N.js +0 -1
- modoboa/frontend_dist/assets/VProgressCircular-w75-3ogi.js +0 -1
- modoboa/frontend_dist/assets/VRadioGroup-0j6DNC_k.js +0 -1
- modoboa/frontend_dist/assets/VSelect-Cs4ARbAS.js +0 -1
- modoboa/frontend_dist/assets/VSelectionControl-Dg-XyRRS.js +0 -1
- modoboa/frontend_dist/assets/VSheet-Btq_Mu4s.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-C7xukQmu.js +0 -1
- modoboa/frontend_dist/assets/VSwitch-Cs1NQrmk.js +0 -1
- modoboa/frontend_dist/assets/VTable-CNz2SGk4.js +0 -1
- modoboa/frontend_dist/assets/VTabs-B1fyVn4M.js +0 -1
- modoboa/frontend_dist/assets/VTextField-BdyvgvkG.js +0 -1
- modoboa/frontend_dist/assets/VTextField-C-J20yj_.css +0 -1
- modoboa/frontend_dist/assets/VTextarea-DnOMpe0Q.js +0 -1
- modoboa/frontend_dist/assets/VToolbar-BiCiBxBJ.js +0 -1
- modoboa/frontend_dist/assets/VWindowItem-ChWm_kz3.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-o4uEkp9e.js +0 -1
- modoboa/frontend_dist/assets/forwardRefs-Dvjn_Xq4.js +0 -1
- modoboa/frontend_dist/assets/global.store-BaiD63EN.js +0 -1
- modoboa/frontend_dist/assets/index-I1VDlN4g.js +0 -984
- modoboa/frontend_dist/assets/layout-D8ZJPiJ_.js +0 -1
- modoboa/frontend_dist/assets/permissions-CITHLHVg.js +0 -1
- modoboa/frontend_dist/assets/transports-Dz7c6kIy.js +0 -1
- {modoboa-2.4.11.data → modoboa-2.5.0.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.4.11.dist-info → modoboa-2.5.0.dist-info}/WHEEL +0 -0
- {modoboa-2.4.11.dist-info → modoboa-2.5.0.dist-info}/entry_points.txt +0 -0
- {modoboa-2.4.11.dist-info → modoboa-2.5.0.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.4.11.dist-info → modoboa-2.5.0.dist-info}/top_level.txt +0 -0
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date: 2025-
|
|
11
|
+
"POT-Creation-Date: 2025-08-28 09:41+0200\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -27,65 +27,66 @@ msgstr ""
|
|
|
27
27
|
msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
|
|
28
28
|
msgstr ""
|
|
29
29
|
|
|
30
|
-
#: admin/api/v1/serializers.py:
|
|
30
|
+
#: admin/api/v1/serializers.py:94
|
|
31
31
|
msgid "domain alias with this name already exists"
|
|
32
32
|
msgstr ""
|
|
33
33
|
|
|
34
|
-
#: admin/api/v1/serializers.py:
|
|
34
|
+
#: admin/api/v1/serializers.py:104
|
|
35
35
|
msgid "No authorized MX record found for this domain"
|
|
36
36
|
msgstr ""
|
|
37
37
|
|
|
38
|
-
#: admin/api/v1/serializers.py:
|
|
38
|
+
#: admin/api/v1/serializers.py:122
|
|
39
39
|
msgid "Cannot be greater than domain quota"
|
|
40
40
|
msgstr ""
|
|
41
41
|
|
|
42
|
-
#: admin/api/v1/serializers.py:
|
|
43
|
-
#: admin/api/v2/serializers.py:
|
|
42
|
+
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
|
|
43
|
+
#: admin/api/v2/serializers.py:564 admin/models/alias.py:44
|
|
44
44
|
msgid "Permission denied."
|
|
45
45
|
msgstr ""
|
|
46
46
|
|
|
47
|
-
#: admin/api/v1/serializers.py:
|
|
48
|
-
#: admin/api/v2/serializers.py:
|
|
49
|
-
#: core/api/v2/serializers.py:
|
|
47
|
+
#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
|
|
48
|
+
#: admin/api/v2/serializers.py:486 core/api/v2/serializers.py:255
|
|
49
|
+
#: core/api/v2/serializers.py:257 core/api/v2/serializers.py:266
|
|
50
50
|
#: transport/backends.py:40
|
|
51
51
|
msgid "This field is required"
|
|
52
52
|
msgstr ""
|
|
53
53
|
|
|
54
|
-
#: admin/api/v1/serializers.py:
|
|
54
|
+
#: admin/api/v1/serializers.py:243
|
|
55
55
|
msgid ""
|
|
56
56
|
"List of administered domains (resellers and domain administrators only)."
|
|
57
57
|
msgstr ""
|
|
58
58
|
|
|
59
|
-
#: admin/api/v1/serializers.py:
|
|
59
|
+
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:546
|
|
60
60
|
msgid "Not allowed for this role."
|
|
61
61
|
msgstr ""
|
|
62
62
|
|
|
63
|
-
#: admin/api/v1/serializers.py:
|
|
63
|
+
#: admin/api/v1/serializers.py:355
|
|
64
64
|
msgid "Must be equal to mailbox full_address"
|
|
65
65
|
msgstr ""
|
|
66
66
|
|
|
67
|
-
#: admin/api/v1/serializers.py:
|
|
67
|
+
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:598
|
|
68
68
|
#: calendars/serializers.py:175 calendars/serializers.py:177
|
|
69
|
+
#: pdfcredentials/api/v2/serializers.py:91
|
|
69
70
|
msgid "This field is required."
|
|
70
71
|
msgstr ""
|
|
71
72
|
|
|
72
|
-
#: admin/api/v1/serializers.py:
|
|
73
|
+
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:615
|
|
73
74
|
msgid "Local domain {} does not exist"
|
|
74
75
|
msgstr ""
|
|
75
76
|
|
|
76
|
-
#: admin/api/v1/serializers.py:
|
|
77
|
+
#: admin/api/v1/serializers.py:499
|
|
77
78
|
msgid "A list of recipient"
|
|
78
79
|
msgstr ""
|
|
79
80
|
|
|
80
|
-
#: admin/api/v1/serializers.py:
|
|
81
|
+
#: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:286
|
|
81
82
|
msgid "This alias already exists"
|
|
82
83
|
msgstr ""
|
|
83
84
|
|
|
84
|
-
#: admin/api/v1/serializers.py:
|
|
85
|
+
#: admin/api/v1/serializers.py:551
|
|
85
86
|
msgid "You don't have access to this domain."
|
|
86
87
|
msgstr ""
|
|
87
88
|
|
|
88
|
-
#: admin/api/v1/serializers.py:
|
|
89
|
+
#: admin/api/v1/serializers.py:560
|
|
89
90
|
msgid "You don't have access to this mailbox."
|
|
90
91
|
msgstr ""
|
|
91
92
|
|
|
@@ -93,56 +94,56 @@ msgstr ""
|
|
|
93
94
|
msgid "Here is your new Modoboa password: {}"
|
|
94
95
|
msgstr ""
|
|
95
96
|
|
|
96
|
-
#: admin/api/v2/serializers.py:
|
|
97
|
+
#: admin/api/v2/serializers.py:82
|
|
97
98
|
msgid "DKIM keys storage directory not configured"
|
|
98
99
|
msgstr ""
|
|
99
100
|
|
|
100
|
-
#: admin/api/v2/serializers.py:
|
|
101
|
+
#: admin/api/v2/serializers.py:94
|
|
101
102
|
msgid "This field is valid when type is relaydomain"
|
|
102
103
|
msgstr ""
|
|
103
104
|
|
|
104
|
-
#: admin/api/v2/serializers.py:
|
|
105
|
+
#: admin/api/v2/serializers.py:101
|
|
105
106
|
msgid "You can't define an unlimited quota."
|
|
106
107
|
msgstr ""
|
|
107
108
|
|
|
108
|
-
#: admin/api/v2/serializers.py:
|
|
109
|
+
#: admin/api/v2/serializers.py:135
|
|
109
110
|
#, python-format
|
|
110
111
|
msgid "User '%s' already exists"
|
|
111
112
|
msgstr ""
|
|
112
113
|
|
|
113
|
-
#: admin/api/v2/serializers.py:
|
|
114
|
+
#: admin/api/v2/serializers.py:250 admin/api/v2/serializers.py:256
|
|
114
115
|
msgid "Must be a positive integer"
|
|
115
116
|
msgstr ""
|
|
116
117
|
|
|
117
|
-
#: admin/api/v2/serializers.py:
|
|
118
|
+
#: admin/api/v2/serializers.py:265
|
|
118
119
|
msgid "openssl not found, please make sure it is installed."
|
|
119
120
|
msgstr ""
|
|
120
121
|
|
|
121
|
-
#: admin/api/v2/serializers.py:
|
|
122
|
+
#: admin/api/v2/serializers.py:268 pdfcredentials/api/v2/serializers.py:84
|
|
122
123
|
msgid "Directory not found."
|
|
123
124
|
msgstr ""
|
|
124
125
|
|
|
125
|
-
#: admin/api/v2/serializers.py:
|
|
126
|
+
#: admin/api/v2/serializers.py:279
|
|
126
127
|
msgid "This field only allows valid IP addresses (or networks)"
|
|
127
128
|
msgstr ""
|
|
128
129
|
|
|
129
|
-
#: admin/api/v2/serializers.py:
|
|
130
|
+
#: admin/api/v2/serializers.py:292
|
|
130
131
|
msgid "Please disable imap migration before disabling this option."
|
|
131
132
|
msgstr ""
|
|
132
133
|
|
|
133
|
-
#: admin/api/v2/serializers.py:
|
|
134
|
+
#: admin/api/v2/serializers.py:305
|
|
134
135
|
msgid "Define at least one authorized network / address"
|
|
135
136
|
msgstr ""
|
|
136
137
|
|
|
137
|
-
#: admin/api/v2/serializers.py:
|
|
138
|
+
#: admin/api/v2/serializers.py:581
|
|
138
139
|
msgid "The left part of an email address can't be more than 64 characters."
|
|
139
140
|
msgstr ""
|
|
140
141
|
|
|
141
|
-
#: admin/api/v2/serializers.py:
|
|
142
|
+
#: admin/api/v2/serializers.py:603
|
|
142
143
|
msgid "A mailbox is required to create aliases."
|
|
143
144
|
msgstr ""
|
|
144
145
|
|
|
145
|
-
#: admin/api/v2/serializers.py:
|
|
146
|
+
#: admin/api/v2/serializers.py:772
|
|
146
147
|
msgid "Unknown status"
|
|
147
148
|
msgstr ""
|
|
148
149
|
|
|
@@ -154,14 +155,6 @@ msgstr ""
|
|
|
154
155
|
msgid "You can't delete your own domain"
|
|
155
156
|
msgstr ""
|
|
156
157
|
|
|
157
|
-
#: admin/api/v2/viewsets.py:407
|
|
158
|
-
msgid "No alarm ID provided"
|
|
159
|
-
msgstr ""
|
|
160
|
-
|
|
161
|
-
#: admin/api/v2/viewsets.py:411
|
|
162
|
-
msgid "Received invalid alarm id(s)"
|
|
163
|
-
msgstr ""
|
|
164
|
-
|
|
165
158
|
#: admin/app_settings.py:19 limits/app_settings.py:38 limits/constants.py:13
|
|
166
159
|
msgid "Domains"
|
|
167
160
|
msgstr ""
|
|
@@ -348,7 +341,7 @@ msgstr ""
|
|
|
348
341
|
msgid "Create an alias using the old address when a mailbox is renamed."
|
|
349
342
|
msgstr ""
|
|
350
343
|
|
|
351
|
-
#: admin/app_settings.py:287 core/api/v2/viewsets.py:
|
|
344
|
+
#: admin/app_settings.py:287 core/api/v2/viewsets.py:174
|
|
352
345
|
msgid "Administration"
|
|
353
346
|
msgstr ""
|
|
354
347
|
|
|
@@ -377,7 +370,7 @@ msgstr ""
|
|
|
377
370
|
msgid "Account import failed (%s): domain does not exist"
|
|
378
371
|
msgstr ""
|
|
379
372
|
|
|
380
|
-
#: admin/handlers.py:242 admin/models/mailbox.py:
|
|
373
|
+
#: admin/handlers.py:242 admin/models/mailbox.py:342
|
|
381
374
|
msgid "Mailbox {} already exists"
|
|
382
375
|
msgstr ""
|
|
383
376
|
|
|
@@ -635,7 +628,7 @@ msgstr ""
|
|
|
635
628
|
msgid "{}: domain quota exceeded"
|
|
636
629
|
msgstr ""
|
|
637
630
|
|
|
638
|
-
#: admin/models/mailbox.py:
|
|
631
|
+
#: admin/models/mailbox.py:310
|
|
639
632
|
msgid "Domain does not exist"
|
|
640
633
|
msgstr ""
|
|
641
634
|
|
|
@@ -787,7 +780,7 @@ msgid ""
|
|
|
787
780
|
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
|
|
788
781
|
msgstr ""
|
|
789
782
|
|
|
790
|
-
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:
|
|
783
|
+
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:195
|
|
791
784
|
msgid "Calendars"
|
|
792
785
|
msgstr ""
|
|
793
786
|
|
|
@@ -821,7 +814,7 @@ msgstr ""
|
|
|
821
814
|
msgid "Interval in seconds between 2 synchronization requests"
|
|
822
815
|
msgstr ""
|
|
823
816
|
|
|
824
|
-
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:
|
|
817
|
+
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:185
|
|
825
818
|
msgid "Contacts"
|
|
826
819
|
msgstr ""
|
|
827
820
|
|
|
@@ -869,12 +862,12 @@ msgstr ""
|
|
|
869
862
|
msgid "2FA is already enabled"
|
|
870
863
|
msgstr ""
|
|
871
864
|
|
|
872
|
-
#: core/api/v1/serializers.py:
|
|
865
|
+
#: core/api/v1/serializers.py:86
|
|
873
866
|
#, python-format
|
|
874
|
-
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
|
|
867
|
+
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
|
|
875
868
|
msgstr ""
|
|
876
869
|
|
|
877
|
-
#: core/api/v1/serializers.py:91 core/api/v2/serializers.py:
|
|
870
|
+
#: core/api/v1/serializers.py:91 core/api/v2/serializers.py:445
|
|
878
871
|
msgid "Invalid password"
|
|
879
872
|
msgstr ""
|
|
880
873
|
|
|
@@ -886,40 +879,40 @@ msgstr ""
|
|
|
886
879
|
msgid "Local"
|
|
887
880
|
msgstr ""
|
|
888
881
|
|
|
889
|
-
#: core/api/v2/serializers.py:
|
|
882
|
+
#: core/api/v2/serializers.py:194 core/app_settings.py:17
|
|
890
883
|
msgid "User profile"
|
|
891
884
|
msgstr ""
|
|
892
885
|
|
|
893
|
-
#: core/api/v2/serializers.py:
|
|
894
|
-
#: core/api/v2/serializers.py:
|
|
886
|
+
#: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
|
|
887
|
+
#: core/api/v2/serializers.py:228
|
|
895
888
|
msgid "Invalid syntax"
|
|
896
889
|
msgstr ""
|
|
897
890
|
|
|
898
|
-
#: core/api/v2/serializers.py:
|
|
891
|
+
#: core/api/v2/serializers.py:233
|
|
899
892
|
msgid "Invalid rounds number"
|
|
900
893
|
msgstr ""
|
|
901
894
|
|
|
902
|
-
#: core/api/v2/serializers.py:
|
|
895
|
+
#: core/api/v2/serializers.py:433 core/forms.py:81
|
|
903
896
|
msgid "This code is invalid"
|
|
904
897
|
msgstr ""
|
|
905
898
|
|
|
906
|
-
#: core/api/v2/serializers.py:
|
|
899
|
+
#: core/api/v2/serializers.py:503 core/views/auth.py:194 core/views/auth.py:247
|
|
907
900
|
msgid "Please use the following code to recover your Modoboa password: {}"
|
|
908
901
|
msgstr ""
|
|
909
902
|
|
|
910
|
-
#: core/api/v2/viewsets.py:
|
|
903
|
+
#: core/api/v2/viewsets.py:176
|
|
911
904
|
msgid "Administration console"
|
|
912
905
|
msgstr ""
|
|
913
906
|
|
|
914
|
-
#: core/api/v2/viewsets.py:
|
|
915
|
-
msgid "
|
|
907
|
+
#: core/api/v2/viewsets.py:187
|
|
908
|
+
msgid "Address book"
|
|
916
909
|
msgstr ""
|
|
917
910
|
|
|
918
|
-
#: core/api/v2/viewsets.py:
|
|
919
|
-
msgid "
|
|
911
|
+
#: core/api/v2/viewsets.py:197
|
|
912
|
+
msgid "Calendar"
|
|
920
913
|
msgstr ""
|
|
921
914
|
|
|
922
|
-
#: core/api/v2/viewsets.py:
|
|
915
|
+
#: core/api/v2/viewsets.py:205 core/api/v2/viewsets.py:207
|
|
923
916
|
#: webmail/app_settings.py:258 webmail/app_settings.py:265
|
|
924
917
|
msgid "Webmail"
|
|
925
918
|
msgstr ""
|
|
@@ -1415,19 +1408,27 @@ msgstr ""
|
|
|
1415
1408
|
msgid "The maximum age in days of a log record"
|
|
1416
1409
|
msgstr ""
|
|
1417
1410
|
|
|
1418
|
-
#: core/app_settings.py:
|
|
1411
|
+
#: core/app_settings.py:727
|
|
1412
|
+
msgid "Retention time in message history"
|
|
1413
|
+
msgstr ""
|
|
1414
|
+
|
|
1415
|
+
#: core/app_settings.py:730
|
|
1416
|
+
msgid "Retention time (in days) of a message in the message history section"
|
|
1417
|
+
msgstr ""
|
|
1418
|
+
|
|
1419
|
+
#: core/app_settings.py:737
|
|
1419
1420
|
msgid "Items per page"
|
|
1420
1421
|
msgstr ""
|
|
1421
1422
|
|
|
1422
|
-
#: core/app_settings.py:
|
|
1423
|
+
#: core/app_settings.py:739
|
|
1423
1424
|
msgid "Number of displayed items per page"
|
|
1424
1425
|
msgstr ""
|
|
1425
1426
|
|
|
1426
|
-
#: core/app_settings.py:
|
|
1427
|
+
#: core/app_settings.py:746
|
|
1427
1428
|
msgid "Default top redirection"
|
|
1428
1429
|
msgstr ""
|
|
1429
1430
|
|
|
1430
|
-
#: core/app_settings.py:
|
|
1431
|
+
#: core/app_settings.py:748
|
|
1431
1432
|
msgid "The default redirection used when no application is specified"
|
|
1432
1433
|
msgstr ""
|
|
1433
1434
|
|
|
@@ -1458,8 +1459,8 @@ msgstr ""
|
|
|
1458
1459
|
|
|
1459
1460
|
#: core/checks.py:34
|
|
1460
1461
|
msgid ""
|
|
1461
|
-
"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/
|
|
1462
|
-
"html#dovecot-oauth2"
|
|
1462
|
+
"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
|
|
1463
|
+
"dovecot.html#dovecot-oauth2"
|
|
1463
1464
|
msgstr ""
|
|
1464
1465
|
|
|
1465
1466
|
#: core/checks.py:41
|
|
@@ -1936,19 +1937,14 @@ msgstr ""
|
|
|
1936
1937
|
#: imap_migration/app_settings.py:76
|
|
1937
1938
|
msgid ""
|
|
1938
1939
|
"A comma seperated list of folders to explicitly include in sync even if "
|
|
1939
|
-
"filtered by the Folder Filter Exclusions. Example: debian.user,
|
|
1940
|
-
"personal "
|
|
1940
|
+
"filtered by the Folder Filter Exclusions. Example: debian.user, "
|
|
1941
|
+
"debian.personal "
|
|
1941
1942
|
msgstr ""
|
|
1942
1943
|
|
|
1943
1944
|
#: imap_migration/apps.py:20
|
|
1944
1945
|
msgid "IMAP Migration"
|
|
1945
1946
|
msgstr ""
|
|
1946
1947
|
|
|
1947
|
-
#: imap_migration/auth_backends.py:49 webmail/lib/imaputils.py:240
|
|
1948
|
-
#, python-brace-format
|
|
1949
|
-
msgid "Connection to IMAP server failed: {error}"
|
|
1950
|
-
msgstr ""
|
|
1951
|
-
|
|
1952
1948
|
#: imap_migration/checks.py:12
|
|
1953
1949
|
msgid ""
|
|
1954
1950
|
"Automatic domain/mailbox creation is disabled which means IMAP "
|
|
@@ -2270,11 +2266,11 @@ msgstr ""
|
|
|
2270
2266
|
msgid "Personal account information"
|
|
2271
2267
|
msgstr ""
|
|
2272
2268
|
|
|
2273
|
-
#: pdfcredentials/api/v2/serializers.py:
|
|
2269
|
+
#: pdfcredentials/api/v2/serializers.py:86
|
|
2274
2270
|
msgid "Directory is not writable"
|
|
2275
2271
|
msgstr ""
|
|
2276
2272
|
|
|
2277
|
-
#: pdfcredentials/api/v2/serializers.py:
|
|
2273
|
+
#: pdfcredentials/api/v2/serializers.py:114
|
|
2278
2274
|
msgid "No document available for this user"
|
|
2279
2275
|
msgstr ""
|
|
2280
2276
|
|
|
@@ -2984,14 +2980,26 @@ msgstr ""
|
|
|
2984
2980
|
msgid "User defined email signature"
|
|
2985
2981
|
msgstr ""
|
|
2986
2982
|
|
|
2983
|
+
#: webmail/exceptions.py:18
|
|
2984
|
+
msgid "Server response"
|
|
2985
|
+
msgstr ""
|
|
2986
|
+
|
|
2987
2987
|
#: webmail/lib/attachments.py:112
|
|
2988
2988
|
msgid "Failed to remove attachment: "
|
|
2989
2989
|
msgstr ""
|
|
2990
2990
|
|
|
2991
|
+
#: webmail/lib/imapemail.py:272
|
|
2992
|
+
msgid "wrote:"
|
|
2993
|
+
msgstr ""
|
|
2994
|
+
|
|
2991
2995
|
#: webmail/lib/imapemail.py:306
|
|
2992
2996
|
msgid "Date"
|
|
2993
2997
|
msgstr ""
|
|
2994
2998
|
|
|
2999
|
+
#: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
|
|
3000
|
+
msgid "Original message"
|
|
3001
|
+
msgstr ""
|
|
3002
|
+
|
|
2995
3003
|
#: webmail/lib/imaputils.py:221
|
|
2996
3004
|
msgid "Failed to retrieve hierarchy delimiter"
|
|
2997
3005
|
msgstr ""
|