modoboa 2.6.5__py3-none-any.whl → 2.7.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.
Files changed (359) hide show
  1. modoboa/admin/api/v2/serializers.py +1 -0
  2. modoboa/admin/app_settings.py +12 -0
  3. modoboa/admin/{management/commands/subcommands/_mx.py → dns_checker.py} +41 -111
  4. modoboa/admin/jobs.py +86 -0
  5. modoboa/admin/management/commands/modo.py +0 -2
  6. modoboa/admin/tests/test_mailbox_operations.py +4 -4
  7. modoboa/admin/tests/test_mx.py +68 -56
  8. modoboa/amavis/jobs.py +11 -0
  9. modoboa/amavis/tests/test_jobs.py +18 -0
  10. modoboa/amavis/tests/test_viewsets.py +2 -3
  11. modoboa/autoconfig/templates/autoconfig/autoconfig.xml +2 -2
  12. modoboa/autoconfig/templates/autoconfig/autodiscover.xml +14 -0
  13. modoboa/autoconfig/tests.py +2 -1
  14. modoboa/autoconfig/views.py +11 -3
  15. modoboa/calendars/backends/caldav_.py +17 -13
  16. modoboa/calendars/jobs.py +7 -0
  17. modoboa/calendars/mocks.py +4 -1
  18. modoboa/calendars/serializers.py +14 -9
  19. modoboa/calendars/tests.py +10 -9
  20. modoboa/calendars/viewsets.py +3 -1
  21. modoboa/contacts/migrations/0008_addressbook_syncing.py +18 -0
  22. modoboa/contacts/models.py +1 -0
  23. modoboa/contacts/serializers.py +5 -2
  24. modoboa/contacts/tasks.py +9 -3
  25. modoboa/contacts/tests.py +32 -6
  26. modoboa/contacts/viewsets.py +7 -1
  27. modoboa/core/api/v2/serializers.py +0 -7
  28. modoboa/core/api/v2/tests.py +0 -10
  29. modoboa/core/app_settings.py +0 -22
  30. modoboa/core/commands/deploy.py +13 -0
  31. modoboa/core/commands/templates/cron_config.py.tpl +33 -0
  32. modoboa/core/commands/templates/settings.py.tpl +21 -0
  33. modoboa/core/jobs.py +34 -0
  34. modoboa/core/management/commands/load_initial_data.py +1 -1
  35. modoboa/core/password_hashers/base.py +4 -1
  36. modoboa/core/tests/test_core.py +0 -14
  37. modoboa/core/tests/test_jobs.py +40 -0
  38. modoboa/frontend_dist/assets/{AccountAliasForm-B-hTKSFr.js → AccountAliasForm-DO6DwfjE.js} +1 -1
  39. modoboa/frontend_dist/assets/{AccountEditView-LkP_qhf_.js → AccountEditView-CCuN9mGB.js} +1 -1
  40. modoboa/frontend_dist/assets/AccountLayout-Ge7fzuZg.js +1 -0
  41. modoboa/frontend_dist/assets/AccountPasswordSubForm-PkFPblkR.js +1 -0
  42. modoboa/frontend_dist/assets/AccountView-dgseekZ8.js +1 -0
  43. modoboa/frontend_dist/assets/AddressBook-DZWOHOJj.js +1 -0
  44. modoboa/frontend_dist/assets/AdminLayout-itB_mmH_.js +1 -0
  45. modoboa/frontend_dist/assets/AlarmsView-King6zb6.js +1 -0
  46. modoboa/frontend_dist/assets/{AliasEditView-BVjNJekt.js → AliasEditView-CTjrXYPf.js} +1 -1
  47. modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
  48. modoboa/frontend_dist/assets/{AliasView-DvvI6cV9.js → AliasView-BN13MNN_.js} +1 -1
  49. modoboa/frontend_dist/assets/AuditTrailView-C1jQwgoo.js +1 -0
  50. modoboa/frontend_dist/assets/CalendarView-juHVIHU5.css +1 -0
  51. modoboa/frontend_dist/assets/CalendarView-rRSzqxrH.js +1 -0
  52. modoboa/frontend_dist/assets/ChoiceField-DCr12shR.js +1 -0
  53. modoboa/frontend_dist/assets/ComposeEmailForm-BmtKwFb1.js +2 -0
  54. modoboa/frontend_dist/assets/ComposeEmailForm-CVNDl-Mq.css +1 -0
  55. modoboa/frontend_dist/assets/ComposeEmailView-JW22Phrb.js +1 -0
  56. modoboa/frontend_dist/assets/ConfirmDialog-CWpdwSQ6.js +1 -0
  57. modoboa/frontend_dist/assets/ConnectedLayout-BP8pO27H.js +1 -0
  58. modoboa/frontend_dist/assets/{ConnectedLayout-C6HNXWkp.css → ConnectedLayout-Ddpb_6yT.css} +1 -1
  59. modoboa/frontend_dist/assets/CreationForm-CzelJsVQ.js +1 -0
  60. modoboa/frontend_dist/assets/DashboardView-BBkBodVj.js +1 -0
  61. modoboa/frontend_dist/assets/{DomainAdminList-BO8_4Cwt.js → DomainAdminList-DD7p3i6F.js} +1 -1
  62. modoboa/frontend_dist/assets/{DomainEditView-BXylM4aB.js → DomainEditView-DoIoNYC4.js} +1 -1
  63. modoboa/frontend_dist/assets/{DomainTransportForm-Ccw5BXyM.js → DomainTransportForm-CbiJF9z5.js} +1 -1
  64. modoboa/frontend_dist/assets/{DomainView-Bd5XQI-1.js → DomainView-BXvznFYz.js} +3 -3
  65. modoboa/frontend_dist/assets/DomainsView-ffYjiffp.js +1 -0
  66. modoboa/frontend_dist/assets/EmailField-KhhJYA4D.js +1 -0
  67. modoboa/frontend_dist/assets/EmailSchedulingForm-CQL5Vfdr.js +1 -0
  68. modoboa/frontend_dist/assets/EmailView-Bq2bHZBO.js +1 -0
  69. modoboa/frontend_dist/assets/EmptyLayout-NrTftp18.js +1 -0
  70. modoboa/frontend_dist/assets/FiltersView-SOQy0U_3.js +1 -0
  71. modoboa/frontend_dist/assets/ForwardEmailView-kEPDjWUw.js +1 -0
  72. modoboa/frontend_dist/assets/{HtmlEditor-DNn3CY-w.js → HtmlEditor-CyBl5wj2.js} +15 -15
  73. modoboa/frontend_dist/assets/IdentitiesView-CZFf4oR9.js +1 -0
  74. modoboa/frontend_dist/assets/InformationView-CAtneAqM.js +1 -0
  75. modoboa/frontend_dist/assets/{LoadingData-CnQ_aVqa.js → LoadingData-C2txD49L.js} +1 -1
  76. modoboa/frontend_dist/assets/{LoginCallbackView-Nh_gmh8e.js → LoginCallbackView-DAvty3CI.js} +1 -1
  77. modoboa/frontend_dist/assets/{LoginView-BtC9BHuJ.js → LoginView-DHYITkn4.js} +1 -1
  78. modoboa/frontend_dist/assets/MailboxView-BNg2v7mi.css +1 -0
  79. modoboa/frontend_dist/assets/MailboxView-DHg5A78D.js +5 -0
  80. modoboa/frontend_dist/assets/MenuItems-C9p70bSC.js +1 -0
  81. modoboa/frontend_dist/assets/{MessageView-C1Goz-hY.js → MessageView-CrrEJpNI.js} +1 -1
  82. modoboa/frontend_dist/assets/MessagesView-CyecRd4I.js +1 -0
  83. modoboa/frontend_dist/assets/MigrationsView-DXGKKz2h.js +1 -0
  84. modoboa/frontend_dist/assets/{ParametersForm-BegEnkQM.js → ParametersForm-DFKYkPAs.js} +1 -1
  85. modoboa/frontend_dist/assets/ParametersView-B1wT5oyt.js +1 -0
  86. modoboa/frontend_dist/assets/ParametersView-CfvVzKea.js +1 -0
  87. modoboa/frontend_dist/assets/ProviderEditView-De-8ggBp.js +1 -0
  88. modoboa/frontend_dist/assets/{ProviderGeneralForm-BAELnXh6.js → ProviderGeneralForm-DO-IpJMQ.js} +1 -1
  89. modoboa/frontend_dist/assets/ProvidersView-Bhk7sCz4.js +1 -0
  90. modoboa/frontend_dist/assets/QuarantineLayout-C1YszNmP.js +1 -0
  91. modoboa/frontend_dist/assets/QuarantineView-cElD_rS-.js +1 -0
  92. modoboa/frontend_dist/assets/ReplyEmailView-BvuOZdLl.js +1 -0
  93. modoboa/frontend_dist/assets/ResourcesForm-FWxrmVwo.js +1 -0
  94. modoboa/frontend_dist/assets/SelfServiceLayout-JHRvfvQf.js +1 -0
  95. modoboa/frontend_dist/assets/SettingsView-SIsKAXtQ.css +1 -0
  96. modoboa/frontend_dist/assets/SettingsView-s2l2Xl1L.js +6 -0
  97. modoboa/frontend_dist/assets/StatisticsView-FiidWvad.js +1 -0
  98. modoboa/frontend_dist/assets/TimeSerieChart-CdqUHiO_.js +1 -0
  99. modoboa/frontend_dist/assets/TimeSerieChart-nLIFGI0y.css +1 -0
  100. modoboa/frontend_dist/assets/UserLayout-DyvI8duf.js +1 -0
  101. modoboa/frontend_dist/assets/{VAlert-Buv8Z5G4.js → VAlert-MDbeolOo.js} +1 -1
  102. modoboa/frontend_dist/assets/VApp-DM1KLQfQ.js +1 -0
  103. modoboa/frontend_dist/assets/VAutocomplete-C9NL5_uo.css +1 -0
  104. modoboa/frontend_dist/assets/VAutocomplete-CQsWYWNX.js +1 -0
  105. modoboa/frontend_dist/assets/VAvatar-CXV_FqpP.js +1 -0
  106. modoboa/frontend_dist/assets/VBadge-7tDx7aI3.js +1 -0
  107. modoboa/frontend_dist/assets/{VCard-D7AwBs4w.js → VCard-CBtX8JF-.js} +1 -1
  108. modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
  109. modoboa/frontend_dist/assets/{VCheckboxBtn-B5evxN9K.js → VCheckboxBtn-B0mIT3E0.js} +1 -1
  110. modoboa/frontend_dist/assets/VColorPicker-BbCHvk6K.js +1 -0
  111. modoboa/frontend_dist/assets/{VColorPicker-B_lVDaYR.css → VColorPicker-C9m8L-6U.css} +1 -1
  112. modoboa/frontend_dist/assets/{VContainer-DY9021j4.js → VContainer-Cn-vKB3s.js} +1 -1
  113. modoboa/frontend_dist/assets/VDataTable-CNT9KOSp.js +1 -0
  114. modoboa/frontend_dist/assets/VDataTableServer-_yn4Ry6U.js +1 -0
  115. modoboa/frontend_dist/assets/VDataTableVirtual-Csxh3Gp6.js +1 -0
  116. modoboa/frontend_dist/assets/VDatePicker-_OUDqShN.css +1 -0
  117. modoboa/frontend_dist/assets/VDatePicker-iFu13xIP.js +2 -0
  118. modoboa/frontend_dist/assets/VDialog-lKtBdqnp.js +1 -0
  119. modoboa/frontend_dist/assets/VExpansionPanels-CaIvk9iF.js +1 -0
  120. modoboa/frontend_dist/assets/VFileInput-C7J_qVmk.js +1 -0
  121. modoboa/frontend_dist/assets/VForm-fdQ5d-CH.js +1 -0
  122. modoboa/frontend_dist/assets/VInput-BwHvhzAe.js +1 -0
  123. modoboa/frontend_dist/assets/VMenu-BpmJf4X2.js +1 -0
  124. modoboa/frontend_dist/assets/VMenu-C5A_5Hs5.css +1 -0
  125. modoboa/frontend_dist/assets/VPicker-B7cB3kJg.css +1 -0
  126. modoboa/frontend_dist/assets/VPicker-BZho70wU.js +1 -0
  127. modoboa/frontend_dist/assets/VProgressCircular-DRw_-iNj.js +1 -0
  128. modoboa/frontend_dist/assets/VRadioGroup--eiP5xtJ.js +1 -0
  129. modoboa/frontend_dist/assets/{VRow-DyK_Mj7R.js → VRow-83Qnr5iB.js} +1 -1
  130. modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
  131. modoboa/frontend_dist/assets/{VSelectionControl-Dkms9_P5.js → VSelectionControl-Cqi1xt-q.js} +1 -1
  132. modoboa/frontend_dist/assets/VSheet-C3MaHhtw.js +1 -0
  133. modoboa/frontend_dist/assets/VSpacer-CuSkdJZL.js +1 -0
  134. modoboa/frontend_dist/assets/VSwitch-XumUl685.js +1 -0
  135. modoboa/frontend_dist/assets/{VTable-D8ZwwC_B.js → VTable-f7wcr2AZ.js} +1 -1
  136. modoboa/frontend_dist/assets/VTabs-CDfdejXj.css +1 -0
  137. modoboa/frontend_dist/assets/VTabs-y4wNP4im.js +1 -0
  138. modoboa/frontend_dist/assets/VTextField-BPIvtrn4.js +1 -0
  139. modoboa/frontend_dist/assets/VTextField-DjbYGlzs.css +1 -0
  140. modoboa/frontend_dist/assets/VTextarea-B6bGYcC3.js +1 -0
  141. modoboa/frontend_dist/assets/VTextarea-f6vTjzFy.css +1 -0
  142. modoboa/frontend_dist/assets/VToolbar-BYDPtwf0.css +1 -0
  143. modoboa/frontend_dist/assets/VToolbar-CB6wwtYc.js +1 -0
  144. modoboa/frontend_dist/assets/VWindowItem-CDtLLEkg.js +1 -0
  145. modoboa/frontend_dist/assets/WebmailLayout-CQQAolnl.css +1 -0
  146. modoboa/frontend_dist/assets/WebmailLayout-tosQSHLS.js +1 -0
  147. modoboa/frontend_dist/assets/{accounts-BZBqbAmd.js → accounts-KUsk6LHW.js} +1 -1
  148. modoboa/frontend_dist/assets/{admin-uCrKjpln.js → admin-BW9cZW0P.js} +1 -1
  149. modoboa/frontend_dist/assets/{aliases-CFwFkX45.js → aliases-Ge0hjIsH.js} +1 -1
  150. modoboa/frontend_dist/assets/{amavis-DCy0U0TD.js → amavis-BbFeFfsk.js} +1 -1
  151. modoboa/frontend_dist/assets/{amavis-B4ScfQsG.js → amavis-DtuzP_CS.js} +1 -1
  152. modoboa/frontend_dist/assets/{contacts-DKmh2q-4.js → contacts-DMJlQTe0.js} +1 -1
  153. modoboa/frontend_dist/assets/{domains-CDE4_LDF.js → domains-Du64lcXT.js} +1 -1
  154. modoboa/frontend_dist/assets/{domains.store-a9Y5UlDV.js → domains.store-1U61jeCV.js} +1 -1
  155. modoboa/frontend_dist/assets/events-BM3in65C.js +1 -0
  156. modoboa/frontend_dist/assets/filter-Dihm6o59.js +1 -0
  157. modoboa/frontend_dist/assets/importExport-HGcNGWOm.js +1 -0
  158. modoboa/frontend_dist/assets/{index-B9q1vO3K.css → index-B1EK3MQe.css} +1 -1
  159. modoboa/frontend_dist/assets/{index-Dwg6jPTX.js → index-Dv00bmw9.js} +1 -1
  160. modoboa/frontend_dist/assets/{index-BjibLozh.js → index-jui3edpn.js} +47 -41
  161. modoboa/frontend_dist/assets/{language.store-DGuI8jG0.js → language.store-OcfdXL_-.js} +1 -1
  162. modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
  163. modoboa/frontend_dist/assets/{layout-5PvsmkGR.js → layout-DOO7TRTJ.js} +1 -1
  164. modoboa/frontend_dist/assets/{layout.store-DJVcXtxk.js → layout.store-C0g-piJn.js} +1 -1
  165. modoboa/frontend_dist/assets/{logos-CMmd0hOG.js → logos-Dz2Gzei-.js} +1 -1
  166. modoboa/frontend_dist/assets/{logs-D2GOydPZ.js → logs-CLm32Weu.js} +1 -1
  167. modoboa/frontend_dist/assets/{parameters-DJdlq9sh.js → parameters-DMIAQ7cd.js} +1 -1
  168. modoboa/frontend_dist/assets/{parameters.store-DH3pPlaT.js → parameters.store-DLnFzCwV.js} +1 -1
  169. modoboa/frontend_dist/assets/{permissions-CgFJFhCp.js → permissions-CrpE0b4w.js} +1 -1
  170. modoboa/frontend_dist/assets/{ssrBoot-ChTB-PYP.js → ssrBoot-B7cr7q9U.js} +1 -1
  171. modoboa/frontend_dist/assets/{tag-CvrHE14f.js → tag-WF93n81Q.js} +1 -1
  172. modoboa/frontend_dist/assets/{theme-DFzlhSh5.js → theme-_0oOYChG.js} +1 -1
  173. modoboa/frontend_dist/assets/transports-CS61syt-.js +1 -0
  174. modoboa/frontend_dist/assets/webmail-CYDXU0DS.js +1 -0
  175. modoboa/frontend_dist/assets/webmail.store-BvHCQSjM.js +1 -0
  176. modoboa/frontend_dist/index.html +2 -2
  177. modoboa/imap_migration/models.py +3 -3
  178. modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
  179. modoboa/imap_migration/tests.py +21 -0
  180. modoboa/lib/cryptutils.py +2 -2
  181. modoboa/lib/sysutils.py +1 -1
  182. modoboa/lib/tests/__init__.py +0 -1
  183. modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
  184. modoboa/locale/br/LC_MESSAGES/django.po +301 -273
  185. modoboa/locale/cs/LC_MESSAGES/django.po +286 -269
  186. modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  187. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +303 -275
  188. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  189. modoboa/locale/de/LC_MESSAGES/django.po +297 -269
  190. modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
  191. modoboa/locale/de_DE/LC_MESSAGES/django.po +303 -275
  192. modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
  193. modoboa/locale/el_GR/LC_MESSAGES/django.po +303 -275
  194. modoboa/locale/en/LC_MESSAGES/django.po +286 -269
  195. modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
  196. modoboa/locale/es/LC_MESSAGES/django.po +302 -274
  197. modoboa/locale/es_MX/LC_MESSAGES/django.po +286 -269
  198. modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
  199. modoboa/locale/fi/LC_MESSAGES/django.po +299 -271
  200. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  201. modoboa/locale/fr/LC_MESSAGES/django.po +288 -271
  202. modoboa/locale/hu/LC_MESSAGES/django.po +286 -269
  203. modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
  204. modoboa/locale/it/LC_MESSAGES/django.po +303 -275
  205. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  206. modoboa/locale/ja_JP/LC_MESSAGES/django.po +390 -413
  207. modoboa/locale/ka/LC_MESSAGES/django.po +286 -269
  208. modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  209. modoboa/locale/nl_NL/LC_MESSAGES/django.po +299 -271
  210. modoboa/locale/no/LC_MESSAGES/django.po +286 -269
  211. modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  212. modoboa/locale/pl_PL/LC_MESSAGES/django.po +297 -269
  213. modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  214. modoboa/locale/pt_BR/LC_MESSAGES/django.po +298 -270
  215. modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  216. modoboa/locale/pt_PT/LC_MESSAGES/django.po +303 -275
  217. modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
  218. modoboa/locale/ro_RO/LC_MESSAGES/django.po +299 -271
  219. modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
  220. modoboa/locale/ru/LC_MESSAGES/django.po +993 -1096
  221. modoboa/locale/si/LC_MESSAGES/django.po +286 -269
  222. modoboa/locale/sk/LC_MESSAGES/django.po +286 -269
  223. modoboa/locale/sk_SK/LC_MESSAGES/django.po +286 -269
  224. modoboa/locale/sl_SI/LC_MESSAGES/django.po +288 -269
  225. modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
  226. modoboa/locale/sv/LC_MESSAGES/django.po +297 -269
  227. modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
  228. modoboa/locale/tr/LC_MESSAGES/django.po +301 -272
  229. modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  230. modoboa/locale/tr_TR/LC_MESSAGES/django.po +291 -269
  231. modoboa/locale/uk/LC_MESSAGES/django.po +286 -269
  232. modoboa/locale/zh/LC_MESSAGES/django.po +286 -269
  233. modoboa/locale/zh_CN/LC_MESSAGES/django.po +286 -269
  234. modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  235. modoboa/locale/zh_TW/LC_MESSAGES/django.po +295 -273
  236. modoboa/maillog/jobs.py +11 -0
  237. modoboa/maillog/tests/test_views.py +5 -4
  238. modoboa/parameters/api/v2/tests.py +1 -1
  239. modoboa/policyd/management/commands/policy_daemon.py +5 -1
  240. modoboa/policyd/tests.py +4 -2
  241. modoboa/rspamd/tests.py +20 -0
  242. modoboa/templates/registration/twofactor_code_verify.html +1 -1
  243. modoboa/webmail/app_settings.py +37 -0
  244. modoboa/webmail/constants.py +21 -1
  245. modoboa/webmail/factories.py +19 -0
  246. modoboa/webmail/jobs.py +27 -0
  247. modoboa/webmail/lib/__init__.py +0 -2
  248. modoboa/webmail/lib/imapemail.py +9 -11
  249. modoboa/webmail/lib/imapheader.py +25 -13
  250. modoboa/webmail/lib/imaputils.py +51 -13
  251. modoboa/webmail/lib/sendmail.py +88 -105
  252. modoboa/webmail/lib/utils.py +109 -0
  253. modoboa/webmail/migrations/0001_initial.py +90 -0
  254. modoboa/webmail/migrations/__init__.py +0 -0
  255. modoboa/webmail/mocks.py +12 -3
  256. modoboa/webmail/models.py +102 -0
  257. modoboa/webmail/serializers.py +84 -4
  258. modoboa/webmail/tests/data.py +21 -0
  259. modoboa/webmail/tests/test_lib_imaputils.py +33 -0
  260. modoboa/webmail/tests/test_viewsets.py +108 -0
  261. modoboa/webmail/urls.py +5 -0
  262. modoboa/webmail/viewsets.py +39 -9
  263. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
  264. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/RECORD +269 -252
  265. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/WHEEL +1 -1
  266. modoboa/admin/management/commands/handle_mailbox_operations.py +0 -103
  267. modoboa/core/management/commands/cleanlogs.py +0 -53
  268. modoboa/frontend_dist/assets/AccountLayout-APeC9bsN.js +0 -1
  269. modoboa/frontend_dist/assets/AccountPasswordSubForm-D4vB2yQK.js +0 -1
  270. modoboa/frontend_dist/assets/AccountView-CloBP1BY.js +0 -1
  271. modoboa/frontend_dist/assets/AddressBook-C03MXg3y.js +0 -1
  272. modoboa/frontend_dist/assets/AdminLayout-DFmyKOo6.js +0 -1
  273. modoboa/frontend_dist/assets/AlarmsView-CFhH0I5d.js +0 -1
  274. modoboa/frontend_dist/assets/AliasRecipientForm-CZ_SvjtG.js +0 -1
  275. modoboa/frontend_dist/assets/AuditTrailView-Cyq25Jle.js +0 -1
  276. modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +0 -1
  277. modoboa/frontend_dist/assets/ChoiceField-BPhUvoyr.js +0 -1
  278. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
  279. modoboa/frontend_dist/assets/ComposeEmailForm-Ns5SYs4J.js +0 -1
  280. modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +0 -1
  281. modoboa/frontend_dist/assets/ConfirmDialog-BMIg94-U.js +0 -1
  282. modoboa/frontend_dist/assets/ConnectedLayout-CSXdVJtV.js +0 -1
  283. modoboa/frontend_dist/assets/CreationForm-CaAZYATm.js +0 -1
  284. modoboa/frontend_dist/assets/DashboardView-DErmyUoy.js +0 -1
  285. modoboa/frontend_dist/assets/DomainsView-CC1EwRId.js +0 -1
  286. modoboa/frontend_dist/assets/EmailField-BFgga4zp.js +0 -1
  287. modoboa/frontend_dist/assets/EmailView-DPWTch_6.js +0 -1
  288. modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +0 -1
  289. modoboa/frontend_dist/assets/FiltersView-Cg9lkLw0.js +0 -1
  290. modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +0 -1
  291. modoboa/frontend_dist/assets/IdentitiesView-CiHIQ9Qt.js +0 -1
  292. modoboa/frontend_dist/assets/InformationView-Cc0aBA5j.js +0 -1
  293. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
  294. modoboa/frontend_dist/assets/MailboxView-DplC0IXR.js +0 -5
  295. modoboa/frontend_dist/assets/MenuItems-efx2rqwT.js +0 -1
  296. modoboa/frontend_dist/assets/MessagesView-CesYYZ9f.js +0 -1
  297. modoboa/frontend_dist/assets/MigrationsView-DSBk8T0y.js +0 -1
  298. modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +0 -1
  299. modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +0 -1
  300. modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +0 -1
  301. modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +0 -1
  302. modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +0 -1
  303. modoboa/frontend_dist/assets/QuarantineView-BzjeDhTm.js +0 -1
  304. modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +0 -1
  305. modoboa/frontend_dist/assets/ResourcesForm-noC3AXd9.js +0 -1
  306. modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +0 -1
  307. modoboa/frontend_dist/assets/SettingsView-DJTdIeRK.css +0 -1
  308. modoboa/frontend_dist/assets/SettingsView-Dgwpfd8O.js +0 -6
  309. modoboa/frontend_dist/assets/StatisticsView-BZkVSh5o.js +0 -1
  310. modoboa/frontend_dist/assets/TimeSerieChart-BXJwhTMO.js +0 -1
  311. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
  312. modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +0 -1
  313. modoboa/frontend_dist/assets/VApp-CiIBWB_Q.js +0 -1
  314. modoboa/frontend_dist/assets/VAutocomplete-DcNqTIie.js +0 -1
  315. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
  316. modoboa/frontend_dist/assets/VAvatar-BsHplcRP.js +0 -1
  317. modoboa/frontend_dist/assets/VBadge-CavP_E2g.js +0 -1
  318. modoboa/frontend_dist/assets/VCheckbox-CKW9lz5i.js +0 -1
  319. modoboa/frontend_dist/assets/VColorPicker-Bsrz8yif.js +0 -1
  320. modoboa/frontend_dist/assets/VDataTable-ocZo8ju0.js +0 -1
  321. modoboa/frontend_dist/assets/VDataTableServer-CJfpYXQW.js +0 -1
  322. modoboa/frontend_dist/assets/VDataTableVirtual-Cr8yw49k.js +0 -1
  323. modoboa/frontend_dist/assets/VDialog-CUMh3paI.js +0 -1
  324. modoboa/frontend_dist/assets/VExpansionPanels-CkwHiKsA.js +0 -1
  325. modoboa/frontend_dist/assets/VFileInput-D5qlksIG.js +0 -1
  326. modoboa/frontend_dist/assets/VForm-ClJU5x_v.js +0 -1
  327. modoboa/frontend_dist/assets/VInput-DhzSMFXh.js +0 -1
  328. modoboa/frontend_dist/assets/VMenu-B53a3gm6.js +0 -1
  329. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
  330. modoboa/frontend_dist/assets/VPicker-B928ZVJQ.js +0 -1
  331. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
  332. modoboa/frontend_dist/assets/VProgressCircular-viI3jDXe.js +0 -1
  333. modoboa/frontend_dist/assets/VRadioGroup-C0bqFrYg.js +0 -1
  334. modoboa/frontend_dist/assets/VSelect-y0E5_vPn.js +0 -1
  335. modoboa/frontend_dist/assets/VSheet-DQkh_hsX.js +0 -1
  336. modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +0 -1
  337. modoboa/frontend_dist/assets/VSwitch-D4xdR9jz.js +0 -1
  338. modoboa/frontend_dist/assets/VTabs-D2c0KeF2.js +0 -1
  339. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +0 -1
  340. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +0 -1
  341. modoboa/frontend_dist/assets/VTextField-DvvH1ciR.js +0 -1
  342. modoboa/frontend_dist/assets/VTextarea-DHtXtzqP.js +0 -1
  343. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +0 -1
  344. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +0 -1
  345. modoboa/frontend_dist/assets/VToolbar-pvLQtmbU.js +0 -1
  346. modoboa/frontend_dist/assets/VWindowItem-DErNPSH8.js +0 -1
  347. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
  348. modoboa/frontend_dist/assets/WebmailLayout-D7J-QJ-0.js +0 -1
  349. modoboa/frontend_dist/assets/filter-BVvMTmPG.js +0 -1
  350. modoboa/frontend_dist/assets/global.store-Bha4Z76j.js +0 -1
  351. modoboa/frontend_dist/assets/importExport-EgijWlC1.js +0 -1
  352. modoboa/frontend_dist/assets/languages-Cge6pECg.js +0 -1
  353. modoboa/frontend_dist/assets/transports-BUSYxSF4.js +0 -1
  354. modoboa/frontend_dist/assets/webmail-HVg3ZHC0.js +0 -1
  355. modoboa/frontend_dist/assets/webmail.store-D-d88s4w.js +0 -1
  356. {modoboa-2.6.5.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
  357. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
  358. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
  359. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/top_level.txt +0 -0
@@ -11,7 +11,7 @@ msgid ""
11
11
  msgstr ""
12
12
  "Project-Id-Version: Modoboa\n"
13
13
  "Report-Msgid-Bugs-To: \n"
14
- "POT-Creation-Date: 2025-12-02 16:07+0100\n"
14
+ "POT-Creation-Date: 2026-02-04 09:30+0100\n"
15
15
  "PO-Revision-Date: 2018-11-01 16:31+0000\n"
16
16
  "Last-Translator: marcotrevisan <mrctrevisan@yahoo.it>\n"
17
17
  "Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/"
@@ -51,14 +51,14 @@ msgstr ""
51
51
  "Non può essere maggiore dello spazio massimo definito a livello di dominio"
52
52
 
53
53
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
54
- #: admin/api/v2/serializers.py:570 admin/models/alias.py:45
54
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
55
55
  msgid "Permission denied."
56
56
  msgstr "Permesso negato."
57
57
 
58
58
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
59
- #: admin/api/v2/serializers.py:491 amavis/serializers.py:39
60
- #: core/api/v2/serializers.py:255 core/api/v2/serializers.py:257
61
- #: core/api/v2/serializers.py:266 transport/backends.py:40
59
+ #: admin/api/v2/serializers.py:492 amavis/serializers.py:39
60
+ #: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
61
+ #: core/api/v2/serializers.py:259 transport/backends.py:40
62
62
  msgid "This field is required"
63
63
  msgstr "Questo campo è obbligatorio"
64
64
 
@@ -69,7 +69,7 @@ msgstr ""
69
69
  "Lista dei domini amministrati (solo per rivenditori e amministratori di "
70
70
  "dominio)."
71
71
 
72
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:552
72
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
73
73
  msgid "Not allowed for this role."
74
74
  msgstr "Non consentito per questo ruolo."
75
75
 
@@ -77,13 +77,12 @@ msgstr "Non consentito per questo ruolo."
77
77
  msgid "Must be equal to mailbox full_address"
78
78
  msgstr "Deve essere uguale a full_address della casella di posta"
79
79
 
80
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:604
81
- #: calendars/serializers.py:175 calendars/serializers.py:177
82
- #: pdfcredentials/api/v2/serializers.py:91
80
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
81
+ #: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
83
82
  msgid "This field is required."
84
83
  msgstr "Questo campo è obbligatorio."
85
84
 
86
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:621
85
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
87
86
  msgid "Local domain {} does not exist"
88
87
  msgstr "Il dominio locale {} non esiste"
89
88
 
@@ -126,41 +125,41 @@ msgstr "Non puoi definire uno spazio illimitato."
126
125
  msgid "User '%s' already exists"
127
126
  msgstr "L'utente '%s' esiste già"
128
127
 
129
- #: admin/api/v2/serializers.py:255 admin/api/v2/serializers.py:261
128
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
130
129
  msgid "Must be a positive integer"
131
130
  msgstr "Dev'essere un intero positivo"
132
131
 
133
- #: admin/api/v2/serializers.py:270
132
+ #: admin/api/v2/serializers.py:271
134
133
  msgid "openssl not found, please make sure it is installed."
135
134
  msgstr "openssl non trovato, assicurarsi che sia installato."
136
135
 
137
- #: admin/api/v2/serializers.py:273 pdfcredentials/api/v2/serializers.py:84
136
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
138
137
  msgid "Directory not found."
139
138
  msgstr "Cartella non trovata."
140
139
 
141
- #: admin/api/v2/serializers.py:284
140
+ #: admin/api/v2/serializers.py:285
142
141
  msgid "This field only allows valid IP addresses (or networks)"
143
142
  msgstr ""
144
143
 
145
- #: admin/api/v2/serializers.py:297
144
+ #: admin/api/v2/serializers.py:298
146
145
  msgid "Please disable imap migration before disabling this option."
147
146
  msgstr ""
148
147
 
149
- #: admin/api/v2/serializers.py:310
148
+ #: admin/api/v2/serializers.py:311
150
149
  msgid "Define at least one authorized network / address"
151
150
  msgstr "Definire almeno una rete / indirizzo autorizzato"
152
151
 
153
- #: admin/api/v2/serializers.py:587
152
+ #: admin/api/v2/serializers.py:588
154
153
  msgid "The left part of an email address can't be more than 64 characters."
155
154
  msgstr ""
156
155
 
157
- #: admin/api/v2/serializers.py:609
156
+ #: admin/api/v2/serializers.py:610
158
157
  #, fuzzy
159
158
  #| msgid "A mailbox is required"
160
159
  msgid "A mailbox is required to create aliases."
161
160
  msgstr "É necessaria una casella"
162
161
 
163
- #: admin/api/v2/serializers.py:782
162
+ #: admin/api/v2/serializers.py:783
164
163
  #, fuzzy
165
164
  #| msgid "Unknown"
166
165
  msgid "Unknown status"
@@ -276,19 +275,29 @@ msgstr "Abilita i controlli DNSBL"
276
275
  msgid "Check every domain against major DNSBL providers"
277
276
  msgstr "Verifica ciascun dominio sui principali provider DNSBL"
278
277
 
279
- #: admin/app_settings.py:116
278
+ #: admin/app_settings.py:117
279
+ msgid "Notify domain admins about DNS issues"
280
+ msgstr ""
281
+
282
+ #: admin/app_settings.py:120
283
+ msgid ""
284
+ "Send a notification by email to domain administrators when DNS issues are "
285
+ "encountered"
286
+ msgstr ""
287
+
288
+ #: admin/app_settings.py:128
280
289
  msgid "Custom DNS server"
281
290
  msgstr "DNS server custom"
282
291
 
283
- #: admin/app_settings.py:118
292
+ #: admin/app_settings.py:130
284
293
  msgid "Use a custom DNS server instead of local server configuration"
285
294
  msgstr "Usa un DNS server custom invece della configurazione a sever locale"
286
295
 
287
- #: admin/app_settings.py:126
296
+ #: admin/app_settings.py:138
288
297
  msgid "DKIM keys storage directory"
289
298
  msgstr "Cartella di salvataggio delle chiavi DKIM"
290
299
 
291
- #: admin/app_settings.py:128
300
+ #: admin/app_settings.py:140
292
301
  msgid ""
293
302
  "Absolute path of the directory where DKIM private keys will be stored. Make "
294
303
  "sure this directory belongs to root user and is not readable by the outside "
@@ -298,19 +307,19 @@ msgstr ""
298
307
  "salvate. Assicurarsi che questa cartella sia di proprietà dell'utente root e "
299
308
  "che non sia leggibile da altri."
300
309
 
301
- #: admin/app_settings.py:137
310
+ #: admin/app_settings.py:149
302
311
  msgid "Default DKIM key length"
303
312
  msgstr "Lunghezza predefinita delle chiavi DKIM"
304
313
 
305
- #: admin/app_settings.py:139
314
+ #: admin/app_settings.py:151
306
315
  msgid "Default length in bits for newly generated DKIM keys."
307
316
  msgstr "Lunghezza predefinita in numero di bit per nuove chiavi DKIM."
308
317
 
309
- #: admin/app_settings.py:146
318
+ #: admin/app_settings.py:158
310
319
  msgid "Default domain quota"
311
320
  msgstr "Quota predefinita per il domini"
312
321
 
313
- #: admin/app_settings.py:148
322
+ #: admin/app_settings.py:160
314
323
  msgid ""
315
324
  "Default quota (in MB) applied to freshly created domains with no value "
316
325
  "specified. A value of 0 means no quota."
@@ -318,28 +327,28 @@ msgstr ""
318
327
  "Quota predefinita (in MB) applicata ai nuovi domini che non la specificano. "
319
328
  "Un valore 0 implica nessuna quota."
320
329
 
321
- #: admin/app_settings.py:156
330
+ #: admin/app_settings.py:168
322
331
  #, fuzzy
323
332
  #| msgid "Default domain quota"
324
333
  msgid "Default domain sending limit"
325
334
  msgstr "Quota predefinita per il domini"
326
335
 
327
- #: admin/app_settings.py:158
336
+ #: admin/app_settings.py:170
328
337
  msgid ""
329
338
  "Number of messages freshly created domains will be allowed to send per day. "
330
339
  "Leave empty for no limit."
331
340
  msgstr ""
332
341
 
333
- #: admin/app_settings.py:170 limits/app_settings.py:61
342
+ #: admin/app_settings.py:182 limits/app_settings.py:61
334
343
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
335
344
  msgid "Mailboxes"
336
345
  msgstr "Caselle di posta"
337
346
 
338
- #: admin/app_settings.py:176
347
+ #: admin/app_settings.py:188
339
348
  msgid "Handle mailboxes on filesystem"
340
349
  msgstr "Gestione delle caselle di posta nel filsystem"
341
350
 
342
- #: admin/app_settings.py:178
351
+ #: admin/app_settings.py:190
343
352
  msgid ""
344
353
  "Rename or remove mailboxes on the filesystem when they get renamed or "
345
354
  "removed within Modoboa"
@@ -347,11 +356,11 @@ msgstr ""
347
356
  "Rinomina o rimuovi le caselle di posta nel filesystem quando vengono "
348
357
  "rinominate o cancellate in Modoboa "
349
358
 
350
- #: admin/app_settings.py:186 admin/models/domain.py:36
359
+ #: admin/app_settings.py:198 admin/models/domain.py:36
351
360
  msgid "Default mailbox quota"
352
361
  msgstr "Dimensione massima predefinita per le mailbox"
353
362
 
354
- #: admin/app_settings.py:188
363
+ #: admin/app_settings.py:200
355
364
  #, fuzzy
356
365
  #| msgid ""
357
366
  #| "Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -363,77 +372,77 @@ msgstr ""
363
372
  "Dimensione massima predefinita (in MB) applicata per nuovi domini creati "
364
373
  "senza alcun valore specificato. Un valore 0 indica nessun limite."
365
374
 
366
- #: admin/app_settings.py:197
375
+ #: admin/app_settings.py:209
367
376
  #, fuzzy
368
377
  #| msgid "Default mailbox quota"
369
378
  msgid "Default mailbox sending limit"
370
379
  msgstr "Dimensione massima predefinita per le mailbox"
371
380
 
372
- #: admin/app_settings.py:199
381
+ #: admin/app_settings.py:211
373
382
  msgid ""
374
383
  "Number of messages freshly created mailboxes will be allowed to send per "
375
384
  "day. Leave empty for no limit."
376
385
  msgstr ""
377
386
 
378
- #: admin/app_settings.py:207
387
+ #: admin/app_settings.py:219
379
388
  msgid "Automatic account removal"
380
389
  msgstr "Rimozione automatica dell'account"
381
390
 
382
- #: admin/app_settings.py:209
391
+ #: admin/app_settings.py:221
383
392
  msgid "When a mailbox is removed, also remove the associated account"
384
393
  msgstr ""
385
394
  "Quando una casella postale viene rimossa rimuovi anche l'account associato"
386
395
 
387
- #: admin/app_settings.py:218
396
+ #: admin/app_settings.py:230
388
397
  msgid "Automatic domain/mailbox creation"
389
398
  msgstr "Creazione automatica del domini/casella di posta elettronica"
390
399
 
391
- #: admin/app_settings.py:221
400
+ #: admin/app_settings.py:233
392
401
  msgid "Create a domain and a mailbox when an account is automatically created."
393
402
  msgstr ""
394
403
  "Crea un dominio ed una casella di posta elettronica quando si crea un "
395
404
  "account utente"
396
405
 
397
- #: admin/app_settings.py:230
406
+ #: admin/app_settings.py:242
398
407
  msgid "Create an alias when a mailbox is renamed"
399
408
  msgstr "Crea un alias quando una mailbox viene rinominata"
400
409
 
401
- #: admin/app_settings.py:233
410
+ #: admin/app_settings.py:245
402
411
  msgid "Create an alias using the old address when a mailbox is renamed."
403
412
  msgstr ""
404
413
  "Crea un alias con il vecchio indirizzo quando una mailbox viene rinominata."
405
414
 
406
- #: admin/app_settings.py:245
415
+ #: admin/app_settings.py:257
407
416
  #, fuzzy
408
417
  #| msgid "alias"
409
418
  msgid "Aliases"
410
419
  msgstr "alias"
411
420
 
412
- #: admin/app_settings.py:251
421
+ #: admin/app_settings.py:263
413
422
  msgid "Alias can target any domain"
414
423
  msgstr ""
415
424
 
416
- #: admin/app_settings.py:253
425
+ #: admin/app_settings.py:265
417
426
  msgid "Allow aliases to target any domain, not just the local domains."
418
427
  msgstr ""
419
428
 
420
- #: admin/app_settings.py:260
429
+ #: admin/app_settings.py:272
421
430
  msgid "Alias target block list"
422
431
  msgstr ""
423
432
 
424
- #: admin/app_settings.py:262
433
+ #: admin/app_settings.py:274
425
434
  msgid "A list of domains that aliases cannot target (comma separated)."
426
435
  msgstr ""
427
436
 
428
- #: admin/app_settings.py:270
437
+ #: admin/app_settings.py:282
429
438
  msgid "Alias target allow list"
430
439
  msgstr ""
431
440
 
432
- #: admin/app_settings.py:272
441
+ #: admin/app_settings.py:284
433
442
  msgid "A list of domains that aliases can target (comma separated)."
434
443
  msgstr ""
435
444
 
436
- #: admin/app_settings.py:326 core/api/v2/viewsets.py:174
445
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
437
446
  msgid "Administration"
438
447
  msgstr "Amministrazione"
439
448
 
@@ -455,6 +464,39 @@ msgstr ""
455
464
  msgid "Closed"
456
465
  msgstr "Chiudi"
457
466
 
467
+ #: admin/dns_checker.py:96
468
+ msgid "MX {} listed by DNSBL provider {}"
469
+ msgstr ""
470
+
471
+ #: admin/dns_checker.py:138
472
+ #, fuzzy
473
+ #| msgid "Domain {} has no MX record"
474
+ msgid "Domain has no MX record"
475
+ msgstr "Il dominio {} non ha record MX"
476
+
477
+ #: admin/dns_checker.py:141
478
+ msgid "Domain {} has no MX record"
479
+ msgstr "Il dominio {} non ha record MX"
480
+
481
+ #: admin/dns_checker.py:159
482
+ #, fuzzy
483
+ #| msgid "MX records of {}"
484
+ msgid "Invalid MX record: {}"
485
+ msgstr "Record MX di {}"
486
+
487
+ #: admin/dns_checker.py:166
488
+ #, python-brace-format
489
+ msgid "MX record for domain {0} is invalid: {1}"
490
+ msgstr "Il record MX per il dominio {0} non è valido: {1}"
491
+
492
+ #: admin/dns_checker.py:177
493
+ msgid "[modoboa] MX issue(s) for domain {}"
494
+ msgstr "[modoboa] problema(/i) MX per il dominio {}"
495
+
496
+ #: admin/dns_checker.py:224
497
+ msgid "[modoboa] DNSBL issue(s) for domain {}"
498
+ msgstr "[modoboa] problema(/i) DNSBL per il dominio {}"
499
+
458
500
  #: admin/handlers.py:179
459
501
  msgid "domain alias"
460
502
  msgstr "alias del dominio"
@@ -477,8 +519,8 @@ msgstr "Non hai i permessi di importare domini"
477
519
  msgid "You are not allowed to import domain aliases."
478
520
  msgstr "Non hai i permessi di importare gli alias dominio"
479
521
 
480
- #: admin/lib.py:227 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
481
- #: admin/tests/test_mx.py:171
522
+ #: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
523
+ #: admin/tests/test_mx.py:157
482
524
  #, fuzzy, python-format
483
525
  #| msgid "No DNS records found for %s"
484
526
  msgid "No DNS record found for %s"
@@ -490,11 +532,11 @@ msgstr "Nessun record DNS trovato per %s"
490
532
  msgid "No %(type)s record for %(name)s"
491
533
  msgstr "Nessun record MX per %s"
492
534
 
493
- #: admin/lib.py:234 admin/tests/test_mx.py:156
535
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
494
536
  msgid "No working name servers found"
495
537
  msgstr "Nessun DNS server funzionante trovato"
496
538
 
497
- #: admin/lib.py:237 admin/tests/test_mx.py:160
539
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
498
540
  #, python-format
499
541
  msgid "DNS resolution timeout, unable to query %s at the moment"
500
542
  msgstr ""
@@ -551,39 +593,6 @@ msgstr ""
551
593
  msgid "Failed to generate DKIM public key"
552
594
  msgstr "Abilita la comunicazione con l'API pubblica di modoboa"
553
595
 
554
- #: admin/management/commands/subcommands/_mx.py:133
555
- msgid "MX {} listed by DNSBL provider {}"
556
- msgstr ""
557
-
558
- #: admin/management/commands/subcommands/_mx.py:174
559
- #, fuzzy
560
- #| msgid "Domain {} has no MX record"
561
- msgid "Domain has no MX record"
562
- msgstr "Il dominio {} non ha record MX"
563
-
564
- #: admin/management/commands/subcommands/_mx.py:177
565
- msgid "Domain {} has no MX record"
566
- msgstr "Il dominio {} non ha record MX"
567
-
568
- #: admin/management/commands/subcommands/_mx.py:195
569
- #, fuzzy
570
- #| msgid "MX records of {}"
571
- msgid "Invalid MX record: {}"
572
- msgstr "Record MX di {}"
573
-
574
- #: admin/management/commands/subcommands/_mx.py:202
575
- #, python-brace-format
576
- msgid "MX record for domain {0} is invalid: {1}"
577
- msgstr "Il record MX per il dominio {0} non è valido: {1}"
578
-
579
- #: admin/management/commands/subcommands/_mx.py:213
580
- msgid "[modoboa] MX issue(s) for domain {}"
581
- msgstr "[modoboa] problema(/i) MX per il dominio {}"
582
-
583
- #: admin/management/commands/subcommands/_mx.py:269
584
- msgid "[modoboa] DNSBL issue(s) for domain {}"
585
- msgstr "[modoboa] problema(/i) DNSBL per il dominio {}"
586
-
587
596
  #: admin/models/alias.py:43
588
597
  msgid "Domain not found."
589
598
  msgstr "Dominio non trovato."
@@ -784,17 +793,17 @@ msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
784
793
  msgstr ""
785
794
  "Modoboa ha rilevato che il dominio %(domain)snon ha un record MX valido:"
786
795
 
787
- #: admin/tests/test_mx.py:155
796
+ #: admin/tests/test_mx.py:141
788
797
  #, python-format
789
798
  msgid "No MX record for %s"
790
799
  msgstr "Nessun record MX per %s"
791
800
 
792
- #: admin/tests/test_mx.py:176 admin/tests/test_mx.py:182
801
+ #: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
793
802
  #, python-format
794
803
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
795
804
  msgstr "Formato non valido per l'indirizzo IP %(domain)s;%(addr)s"
796
805
 
797
- #: admin/tests/test_mx.py:199
806
+ #: admin/tests/test_mx.py:185
798
807
  #, fuzzy, python-format
799
808
  #| msgid "No MX record for %s"
800
809
  msgid "No AAAA record for %s"
@@ -1006,13 +1015,13 @@ msgid ""
1006
1015
  "database)"
1007
1016
  msgstr ""
1008
1017
 
1009
- #: amavis/app_settings.py:236 webmail/app_settings.py:118
1018
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
1010
1019
  #, fuzzy
1011
1020
  #| msgid "Display details"
1012
1021
  msgid "Display"
1013
1022
  msgstr "Mostra"
1014
1023
 
1015
- #: amavis/app_settings.py:243 webmail/app_settings.py:144
1024
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
1016
1025
  #, fuzzy
1017
1026
  #| msgid "Number of displayed items per page"
1018
1027
  msgid "Number of displayed emails per page"
@@ -1307,7 +1316,7 @@ msgstr ""
1307
1316
  "Permetti a questo amministratore di accedere alle caselle di posta degli "
1308
1317
  "utenti"
1309
1318
 
1310
- #: calendars/app_settings.py:60 core/app_settings.py:676
1319
+ #: calendars/app_settings.py:60 core/app_settings.py:664
1311
1320
  #: rspamd/app_settings.py:45
1312
1321
  msgid "Miscellaneous"
1313
1322
  msgstr "Varie"
@@ -1325,11 +1334,11 @@ msgstr ""
1325
1334
  msgid "Calendars"
1326
1335
  msgstr ""
1327
1336
 
1328
- #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:38
1337
+ #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
1329
1338
  msgid "Server location is not set, please fix it."
1330
1339
  msgstr "Posizione del server non impostata, si prega di correggere."
1331
1340
 
1332
- #: calendars/viewsets.py:197
1341
+ #: calendars/viewsets.py:199
1333
1342
  msgid "Uploaded file is too big (max: {} bytes)"
1334
1343
  msgstr ""
1335
1344
 
@@ -1420,7 +1429,7 @@ msgstr ""
1420
1429
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
1421
1430
  msgstr ""
1422
1431
 
1423
- #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:445
1432
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
1424
1433
  #, fuzzy
1425
1434
  #| msgid "Old password"
1426
1435
  msgid "Invalid password"
@@ -1434,24 +1443,20 @@ msgstr ""
1434
1443
  msgid "Local"
1435
1444
  msgstr "Locale"
1436
1445
 
1437
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
1438
- msgid "User profile"
1439
- msgstr "Profilo utente"
1440
-
1441
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
1442
- #: core/api/v2/serializers.py:228
1446
+ #: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
1447
+ #: core/api/v2/serializers.py:221
1443
1448
  msgid "Invalid syntax"
1444
1449
  msgstr "Sintassi errata"
1445
1450
 
1446
- #: core/api/v2/serializers.py:233
1451
+ #: core/api/v2/serializers.py:226
1447
1452
  msgid "Invalid rounds number"
1448
1453
  msgstr "Numero di cicli non valido"
1449
1454
 
1450
- #: core/api/v2/serializers.py:433 core/forms.py:81
1455
+ #: core/api/v2/serializers.py:426 core/forms.py:81
1451
1456
  msgid "This code is invalid"
1452
1457
  msgstr ""
1453
1458
 
1454
- #: core/api/v2/serializers.py:503 core/views/auth.py:213 core/views/auth.py:266
1459
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
1455
1460
  msgid "Please use the following code to recover your Modoboa password: {}"
1456
1461
  msgstr ""
1457
1462
 
@@ -1482,38 +1487,38 @@ msgid "Calendar"
1482
1487
  msgstr ""
1483
1488
 
1484
1489
  #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1485
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1490
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1486
1491
  #, fuzzy
1487
1492
  #| msgid "E-mail"
1488
1493
  msgid "Webmail"
1489
1494
  msgstr "Webmail"
1490
1495
 
1491
- #: core/app_settings.py:37
1496
+ #: core/app_settings.py:25
1492
1497
  msgid "Authentication"
1493
1498
  msgstr "Autenticazione"
1494
1499
 
1495
- #: core/app_settings.py:43
1500
+ #: core/app_settings.py:31
1496
1501
  msgid "Authentication type"
1497
1502
  msgstr "Tipo di autenticazione"
1498
1503
 
1499
- #: core/app_settings.py:45
1504
+ #: core/app_settings.py:33
1500
1505
  msgid "The backend used for authentication"
1501
1506
  msgstr "Il backend utilizzato per l'autenticazione"
1502
1507
 
1503
- #: core/app_settings.py:52
1508
+ #: core/app_settings.py:40
1504
1509
  msgid "Default password scheme"
1505
1510
  msgstr "Schema password predefinito"
1506
1511
 
1507
- #: core/app_settings.py:54
1512
+ #: core/app_settings.py:42
1508
1513
  msgid "Scheme used to crypt mailbox passwords"
1509
1514
  msgstr ""
1510
1515
  "Schema utilizzato per la criptazione delle password delle caselle di posta"
1511
1516
 
1512
- #: core/app_settings.py:61
1517
+ #: core/app_settings.py:49
1513
1518
  msgid "Rounds"
1514
1519
  msgstr "Cicli"
1515
1520
 
1516
- #: core/app_settings.py:63
1521
+ #: core/app_settings.py:51
1517
1522
  msgid ""
1518
1523
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1519
1524
  "between 1000 and 999999999, inclusive."
@@ -1521,160 +1526,160 @@ msgstr ""
1521
1526
  "Numero di cicli da utilizzare (valido per sha256crypt e sha512crypt). Deve "
1522
1527
  "essere compreso tra 1000 e 999999999."
1523
1528
 
1524
- #: core/app_settings.py:73
1529
+ #: core/app_settings.py:61
1525
1530
  #, fuzzy
1526
1531
  #| msgid "Update password scheme"
1527
1532
  msgid "Update password scheme at login"
1528
1533
  msgstr "Aggiorna lo schema di password"
1529
1534
 
1530
- #: core/app_settings.py:76
1535
+ #: core/app_settings.py:64
1531
1536
  msgid "Update user password at login to use the default password scheme"
1532
1537
  msgstr ""
1533
1538
  "Aggiorna la password utente al login per usare lo schema di password "
1534
1539
  "predefinito"
1535
1540
 
1536
- #: core/app_settings.py:84
1541
+ #: core/app_settings.py:72
1537
1542
  msgid "Default password"
1538
1543
  msgstr "Password predefinita"
1539
1544
 
1540
- #: core/app_settings.py:86
1545
+ #: core/app_settings.py:74
1541
1546
  msgid "Default password for automatically created accounts."
1542
1547
  msgstr "Password predefinita per gli account creati automaticamente."
1543
1548
 
1544
- #: core/app_settings.py:93
1549
+ #: core/app_settings.py:81
1545
1550
  msgid "Random password length"
1546
1551
  msgstr "Lunghezza della password casuale"
1547
1552
 
1548
- #: core/app_settings.py:95
1553
+ #: core/app_settings.py:83
1549
1554
  msgid "Length of randomly generated passwords."
1550
1555
  msgstr "Lunghezza delle password generate casualmente"
1551
1556
 
1552
- #: core/app_settings.py:103
1557
+ #: core/app_settings.py:91
1553
1558
  msgid "Allow special characters for random password"
1554
1559
  msgstr ""
1555
1560
 
1556
- #: core/app_settings.py:106
1561
+ #: core/app_settings.py:94
1557
1562
  #, fuzzy
1558
1563
  #| msgid "Length of randomly generated passwords."
1559
1564
  msgid "Enable special characters in randomly generated passwords."
1560
1565
  msgstr "Lunghezza delle password generate casualmente"
1561
1566
 
1562
- #: core/app_settings.py:114
1567
+ #: core/app_settings.py:102
1563
1568
  #, fuzzy
1564
1569
  #| msgid "Update password scheme"
1565
1570
  msgid "Update password service URL"
1566
1571
  msgstr "Aggiorna lo schema di password"
1567
1572
 
1568
- #: core/app_settings.py:116
1573
+ #: core/app_settings.py:104
1569
1574
  msgid ""
1570
1575
  "The URL of an external page where users will be able to update their "
1571
1576
  "password. It applies only to non local users, ie. those automatically "
1572
1577
  "created after a successful external authentication (LDAP, SMTP)."
1573
1578
  msgstr ""
1574
1579
 
1575
- #: core/app_settings.py:126
1580
+ #: core/app_settings.py:114
1576
1581
  msgid "Password recovery announcement"
1577
1582
  msgstr ""
1578
1583
 
1579
- #: core/app_settings.py:128
1584
+ #: core/app_settings.py:116
1580
1585
  msgid "A temporary message that will be displayed on the reset password page."
1581
1586
  msgstr ""
1582
1587
 
1583
- #: core/app_settings.py:137
1588
+ #: core/app_settings.py:125
1584
1589
  msgid "Enable password recovery by SMS"
1585
1590
  msgstr ""
1586
1591
 
1587
- #: core/app_settings.py:140
1592
+ #: core/app_settings.py:128
1588
1593
  msgid "Enable password recovery by SMS for users who filled a phone number."
1589
1594
  msgstr ""
1590
1595
 
1591
- #: core/app_settings.py:148
1596
+ #: core/app_settings.py:136
1592
1597
  msgid "SMS provider"
1593
1598
  msgstr ""
1594
1599
 
1595
- #: core/app_settings.py:151
1600
+ #: core/app_settings.py:139
1596
1601
  msgid "Choose a provider to send password recovery SMS"
1597
1602
  msgstr ""
1598
1603
 
1599
- #: core/app_settings.py:163
1604
+ #: core/app_settings.py:151
1600
1605
  msgid "LDAP"
1601
1606
  msgstr ""
1602
1607
 
1603
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1608
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1604
1609
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1605
- #: webmail/app_settings.py:73
1610
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1606
1611
  msgid "Server address"
1607
1612
  msgstr "Indirizzo del server"
1608
1613
 
1609
- #: core/app_settings.py:171
1614
+ #: core/app_settings.py:159
1610
1615
  msgid "The IP address or the DNS name of the LDAP server"
1611
1616
  msgstr "L'indirizzo IP o il DNS name del server LDAP"
1612
1617
 
1613
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1618
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1614
1619
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1615
- #: webmail/app_settings.py:91
1620
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1616
1621
  msgid "Server port"
1617
1622
  msgstr "Porta del server"
1618
1623
 
1619
- #: core/app_settings.py:180
1624
+ #: core/app_settings.py:168
1620
1625
  msgid "The TCP port number used by the LDAP server"
1621
1626
  msgstr "Il numero della porta TCP utilizzata dal server LDAP"
1622
1627
 
1623
- #: core/app_settings.py:188
1628
+ #: core/app_settings.py:176
1624
1629
  msgid "Enable secondary server (fallback)"
1625
1630
  msgstr ""
1626
1631
 
1627
- #: core/app_settings.py:191
1632
+ #: core/app_settings.py:179
1628
1633
  msgid ""
1629
1634
  "Enable a secondary LDAP server which will be used if the primary one fails"
1630
1635
  msgstr ""
1631
1636
 
1632
- #: core/app_settings.py:199
1637
+ #: core/app_settings.py:187
1633
1638
  #, fuzzy
1634
1639
  #| msgid "Server address"
1635
1640
  msgid "Secondary server address"
1636
1641
  msgstr "Indirizzo del server"
1637
1642
 
1638
- #: core/app_settings.py:202
1643
+ #: core/app_settings.py:190
1639
1644
  #, fuzzy
1640
1645
  #| msgid "The IP address or the DNS name of the LDAP server"
1641
1646
  msgid "The IP address or the DNS name of the seondary LDAP server"
1642
1647
  msgstr "L'indirizzo IP o il DNS name del server LDAP"
1643
1648
 
1644
- #: core/app_settings.py:209
1649
+ #: core/app_settings.py:197
1645
1650
  #, fuzzy
1646
1651
  #| msgid "Server port"
1647
1652
  msgid "Secondary server port"
1648
1653
  msgstr "Porta del server"
1649
1654
 
1650
- #: core/app_settings.py:212
1655
+ #: core/app_settings.py:200
1651
1656
  #, fuzzy
1652
1657
  #| msgid "The TCP port number used by the LDAP server"
1653
1658
  msgid "The TCP port number used by the LDAP secondary server"
1654
1659
  msgstr "Il numero della porta TCP utilizzata dal server LDAP"
1655
1660
 
1656
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1661
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1657
1662
  #: webmail/app_settings.py:45
1658
1663
  msgid "Use a secured connection"
1659
1664
  msgstr "Usa una connessione sicura"
1660
1665
 
1661
- #: core/app_settings.py:221
1666
+ #: core/app_settings.py:209
1662
1667
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1663
1668
  msgstr "Usa una connessione SSL/STARTTLS per l'accesso al server LDAP"
1664
1669
 
1665
- #: core/app_settings.py:228
1670
+ #: core/app_settings.py:216
1666
1671
  msgid "Active Directory"
1667
1672
  msgstr "Active Directory"
1668
1673
 
1669
- #: core/app_settings.py:230
1674
+ #: core/app_settings.py:218
1670
1675
  msgid "Tell if the LDAP server is an Active Directory one"
1671
1676
  msgstr "Segnala se il server LDAP è una Active Directory"
1672
1677
 
1673
- #: core/app_settings.py:237
1678
+ #: core/app_settings.py:225
1674
1679
  msgid "Administrator groups"
1675
1680
  msgstr "Gruppi degli amministratori"
1676
1681
 
1677
- #: core/app_settings.py:239
1682
+ #: core/app_settings.py:227
1678
1683
  msgid ""
1679
1684
  "Members of those LDAP Posix groups will be created as domain administrators. "
1680
1685
  "Use ';' characters to separate groups."
@@ -1683,51 +1688,51 @@ msgstr ""
1683
1688
  "amministratori di dominio. Utilizza il carattere ';' per separare valori "
1684
1689
  "multipli."
1685
1690
 
1686
- #: core/app_settings.py:248
1691
+ #: core/app_settings.py:236
1687
1692
  msgid "Group type"
1688
1693
  msgstr "Tipo di gruppo"
1689
1694
 
1690
- #: core/app_settings.py:250
1695
+ #: core/app_settings.py:238
1691
1696
  msgid "The LDAP group type to use with your directory."
1692
1697
  msgstr "Il tipo di gruppo LDAP da utilizzare nella Directory"
1693
1698
 
1694
- #: core/app_settings.py:257
1699
+ #: core/app_settings.py:245
1695
1700
  msgid "Groups search base"
1696
1701
  msgstr "Base di ricerca per i gruppi"
1697
1702
 
1698
- #: core/app_settings.py:259
1703
+ #: core/app_settings.py:247
1699
1704
  msgid "The distinguished name of the search base used to find groups"
1700
1705
  msgstr ""
1701
1706
  "DN (Nome distinto univoco) della base di ricerca utilizzato per trovare i "
1702
1707
  "gruppi"
1703
1708
 
1704
- #: core/app_settings.py:267
1709
+ #: core/app_settings.py:255
1705
1710
  msgid "Password attribute"
1706
1711
  msgstr "Attributo della password"
1707
1712
 
1708
- #: core/app_settings.py:269
1713
+ #: core/app_settings.py:257
1709
1714
  msgid "The attribute used to store user passwords"
1710
1715
  msgstr "L'attributo utilizzato per memorizzare le password degli utenti"
1711
1716
 
1712
- #: core/app_settings.py:276
1717
+ #: core/app_settings.py:264
1713
1718
  #, fuzzy
1714
1719
  #| msgid "Authentication method"
1715
1720
  msgid "LDAP authentication settings"
1716
1721
  msgstr "Metodo di autenticazione"
1717
1722
 
1718
- #: core/app_settings.py:284
1723
+ #: core/app_settings.py:272
1719
1724
  msgid "Authentication method"
1720
1725
  msgstr "Metodo di autenticazione"
1721
1726
 
1722
- #: core/app_settings.py:287
1727
+ #: core/app_settings.py:275
1723
1728
  msgid "Choose the authentication method to use"
1724
1729
  msgstr "Scegli il metodo di autenticazione da usare"
1725
1730
 
1726
- #: core/app_settings.py:294 core/app_settings.py:357
1731
+ #: core/app_settings.py:282 core/app_settings.py:345
1727
1732
  msgid "Bind DN"
1728
1733
  msgstr "Collega DN"
1729
1734
 
1730
- #: core/app_settings.py:296 core/app_settings.py:359
1735
+ #: core/app_settings.py:284 core/app_settings.py:347
1731
1736
  msgid ""
1732
1737
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1733
1738
  "for an anonymous bind"
@@ -1735,31 +1740,31 @@ msgstr ""
1735
1740
  "DN (Nome distinto univoco) da usare quando ci si collega al server LDAP. "
1736
1741
  "Lasciare vuoto per un collegamento anonimo"
1737
1742
 
1738
- #: core/app_settings.py:305 core/app_settings.py:367
1743
+ #: core/app_settings.py:293 core/app_settings.py:355
1739
1744
  msgid "Bind password"
1740
1745
  msgstr "Password del collegamento"
1741
1746
 
1742
- #: core/app_settings.py:307 core/app_settings.py:369
1747
+ #: core/app_settings.py:295 core/app_settings.py:357
1743
1748
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1744
1749
  msgstr ""
1745
1750
  "La password da utilizzare quando ci si collega al server LDAP (con 'Collega "
1746
1751
  "DN')"
1747
1752
 
1748
- #: core/app_settings.py:317 core/app_settings.py:422
1753
+ #: core/app_settings.py:305 core/app_settings.py:410
1749
1754
  msgid "Users search base"
1750
1755
  msgstr "Base di ricerca per gli utenti"
1751
1756
 
1752
- #: core/app_settings.py:319 core/app_settings.py:424
1757
+ #: core/app_settings.py:307 core/app_settings.py:412
1753
1758
  msgid "The distinguished name of the search base used to find users"
1754
1759
  msgstr ""
1755
1760
  "DN (Nome distinto univoco) della base di ricerca utilizzata per cercare gli "
1756
1761
  "utenti"
1757
1762
 
1758
- #: core/app_settings.py:328 core/app_settings.py:433
1763
+ #: core/app_settings.py:316 core/app_settings.py:421
1759
1764
  msgid "Search filter"
1760
1765
  msgstr "Filtro ricerca"
1761
1766
 
1762
- #: core/app_settings.py:330 core/app_settings.py:435
1767
+ #: core/app_settings.py:318 core/app_settings.py:423
1763
1768
  msgid ""
1764
1769
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1765
1770
  "valid, it must be enclosed in parentheses."
@@ -1767,11 +1772,11 @@ msgstr ""
1767
1772
  "Stringa di filtraggio opzionale (p.es '(objectClass=person)'). Per essere "
1768
1773
  "valida deve essere racchiusa tra parentesi."
1769
1774
 
1770
- #: core/app_settings.py:339
1775
+ #: core/app_settings.py:327
1771
1776
  msgid "User DN template"
1772
1777
  msgstr "Modello DN dell'utente"
1773
1778
 
1774
- #: core/app_settings.py:341
1779
+ #: core/app_settings.py:329
1775
1780
  #, python-format
1776
1781
  msgid ""
1777
1782
  "The template used to construct a user's DN. It should contain one "
@@ -1780,38 +1785,38 @@ msgstr ""
1780
1785
  "Il modello utilizzato per comporre il DN degli utenti. Deve contenere un "
1781
1786
  "segnaposto (p.es. %(user)s)"
1782
1787
 
1783
- #: core/app_settings.py:350
1788
+ #: core/app_settings.py:338
1784
1789
  #, fuzzy
1785
1790
  #| msgid "LDAP settings"
1786
1791
  msgid "LDAP synchronization settings"
1787
1792
  msgstr "Impostazioni LDAP"
1788
1793
 
1789
- #: core/app_settings.py:378
1794
+ #: core/app_settings.py:366
1790
1795
  msgid "Enable export to LDAP"
1791
1796
  msgstr ""
1792
1797
 
1793
- #: core/app_settings.py:380
1798
+ #: core/app_settings.py:368
1794
1799
  msgid ""
1795
1800
  "Enable automatic synchronization between local database and LDAP directory"
1796
1801
  msgstr ""
1797
1802
 
1798
- #: core/app_settings.py:389
1803
+ #: core/app_settings.py:377
1799
1804
  msgid "Delete remote LDAP account when local account is deleted"
1800
1805
  msgstr ""
1801
1806
 
1802
- #: core/app_settings.py:392
1807
+ #: core/app_settings.py:380
1803
1808
  msgid ""
1804
1809
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1805
1810
  "be disabled."
1806
1811
  msgstr ""
1807
1812
 
1808
- #: core/app_settings.py:401
1813
+ #: core/app_settings.py:389
1809
1814
  #, fuzzy
1810
1815
  #| msgid "User DN template"
1811
1816
  msgid "Account DN template"
1812
1817
  msgstr "Modello DN dell'utente"
1813
1818
 
1814
- #: core/app_settings.py:403
1819
+ #: core/app_settings.py:391
1815
1820
  #, fuzzy, python-format
1816
1821
  #| msgid ""
1817
1822
  #| "The template used to construct a user's DN. It should contain one "
@@ -1823,204 +1828,204 @@ msgstr ""
1823
1828
  "Il modello utilizzato per comporre il DN degli utenti. Deve contenere un "
1824
1829
  "segnaposto (p.es. %(user)s)"
1825
1830
 
1826
- #: core/app_settings.py:412
1831
+ #: core/app_settings.py:400
1827
1832
  msgid "Enable import from LDAP"
1828
1833
  msgstr ""
1829
1834
 
1830
- #: core/app_settings.py:414
1835
+ #: core/app_settings.py:402
1831
1836
  msgid "Enable account synchronization from LDAP directory to local database"
1832
1837
  msgstr ""
1833
1838
 
1834
- #: core/app_settings.py:444
1839
+ #: core/app_settings.py:432
1835
1840
  #, fuzzy
1836
1841
  #| msgid "Password attribute"
1837
1842
  msgid "Username attribute"
1838
1843
  msgstr "Attributo della password"
1839
1844
 
1840
- #: core/app_settings.py:446
1845
+ #: core/app_settings.py:434
1841
1846
  msgid "The name of the LDAP attribute where the username can be found."
1842
1847
  msgstr ""
1843
1848
 
1844
- #: core/app_settings.py:455
1849
+ #: core/app_settings.py:443
1845
1850
  #, fuzzy
1846
1851
  #| msgid "Enable communication"
1847
1852
  msgid "Enable Dovecot LDAP sync"
1848
1853
  msgstr "Abilita comunicazione"
1849
1854
 
1850
- #: core/app_settings.py:457
1855
+ #: core/app_settings.py:445
1851
1856
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1852
1857
  msgstr ""
1853
1858
 
1854
- #: core/app_settings.py:465
1859
+ #: core/app_settings.py:453
1855
1860
  msgid "Dovecot LDAP config file"
1856
1861
  msgstr ""
1857
1862
 
1858
- #: core/app_settings.py:467
1863
+ #: core/app_settings.py:455
1859
1864
  msgid ""
1860
1865
  "Location of the configuration file which contains Dovecot LDAP settings."
1861
1866
  msgstr ""
1862
1867
 
1863
- #: core/app_settings.py:480
1868
+ #: core/app_settings.py:468
1864
1869
  msgid "Dashboard"
1865
1870
  msgstr ""
1866
1871
 
1867
- #: core/app_settings.py:486
1872
+ #: core/app_settings.py:474
1868
1873
  #, fuzzy
1869
1874
  #| msgid "Custom message"
1870
1875
  msgid "Custom welcome message"
1871
1876
  msgstr "Messaggio personalizzato"
1872
1877
 
1873
- #: core/app_settings.py:488
1878
+ #: core/app_settings.py:476
1874
1879
  #, fuzzy
1875
1880
  #| msgid "A custom message that will appear at the end of documents"
1876
1881
  msgid "A welcome message that will be displayed instead the default one"
1877
1882
  msgstr "Un messaggio personalizzato comparirà alla fine dei documenti"
1878
1883
 
1879
- #: core/app_settings.py:495
1884
+ #: core/app_settings.py:483
1880
1885
  msgid "Custom RSS feed"
1881
1886
  msgstr "RSS feed custom"
1882
1887
 
1883
- #: core/app_settings.py:497
1888
+ #: core/app_settings.py:485
1884
1889
  msgid "Display custom RSS feed to resellers and domain administrators"
1885
1890
  msgstr "Mostra RSS feed custom a rivenditori e amministratori di dominio"
1886
1891
 
1887
- #: core/app_settings.py:506
1892
+ #: core/app_settings.py:494
1888
1893
  #, fuzzy
1889
1894
  #| msgid "Display custom RSS feed to resellers and domain administrators"
1890
1895
  msgid "Display custom RSS feed to super admins"
1891
1896
  msgstr "Mostra RSS feed custom a rivenditori e amministratori di dominio"
1892
1897
 
1893
- #: core/app_settings.py:509
1898
+ #: core/app_settings.py:497
1894
1899
  #, fuzzy
1895
1900
  #| msgid "Display custom RSS feed to resellers and domain administrators"
1896
1901
  msgid "Display custom RSS feed also to super administrators"
1897
1902
  msgstr "Mostra RSS feed custom a rivenditori e amministratori di dominio"
1898
1903
 
1899
- #: core/app_settings.py:517
1904
+ #: core/app_settings.py:505
1900
1905
  msgid "Hide features widget"
1901
1906
  msgstr "Nascondi il widget delle feature"
1902
1907
 
1903
- #: core/app_settings.py:519
1908
+ #: core/app_settings.py:507
1904
1909
  msgid "Hide features widget for resellers and domain administrators"
1905
1910
  msgstr ""
1906
1911
 
1907
- #: core/app_settings.py:531
1912
+ #: core/app_settings.py:519
1908
1913
  msgid "Theme"
1909
1914
  msgstr ""
1910
1915
 
1911
- #: core/app_settings.py:537
1916
+ #: core/app_settings.py:525
1912
1917
  msgid "Primary theme color"
1913
1918
  msgstr ""
1914
1919
 
1915
- #: core/app_settings.py:539
1920
+ #: core/app_settings.py:527
1916
1921
  msgid ""
1917
1922
  "Primary color of the theme (hexadecimal code), used as the background color "
1918
1923
  "of the left menu for example"
1919
1924
  msgstr ""
1920
1925
 
1921
- #: core/app_settings.py:548
1926
+ #: core/app_settings.py:536
1922
1927
  msgid "Primary theme color (lighter version)"
1923
1928
  msgstr ""
1924
1929
 
1925
- #: core/app_settings.py:551 core/app_settings.py:563
1930
+ #: core/app_settings.py:539 core/app_settings.py:551
1926
1931
  msgid "Primary color of the theme (hexadecimal code)"
1927
1932
  msgstr ""
1928
1933
 
1929
- #: core/app_settings.py:560
1934
+ #: core/app_settings.py:548
1930
1935
  msgid "Primary theme color (darker version)"
1931
1936
  msgstr ""
1932
1937
 
1933
- #: core/app_settings.py:571
1938
+ #: core/app_settings.py:559
1934
1939
  #, fuzzy
1935
1940
  #| msgid "Secondary email"
1936
1941
  msgid "Secondary theme color"
1937
1942
  msgstr "Email alternativa"
1938
1943
 
1939
- #: core/app_settings.py:573
1944
+ #: core/app_settings.py:561
1940
1945
  msgid ""
1941
1946
  "Secondary color of the theme (hexadecimal code), used as the background "
1942
1947
  "color of some buttons for example"
1943
1948
  msgstr ""
1944
1949
 
1945
- #: core/app_settings.py:581
1950
+ #: core/app_settings.py:569
1946
1951
  msgid "Labels theme color"
1947
1952
  msgstr ""
1948
1953
 
1949
- #: core/app_settings.py:583
1954
+ #: core/app_settings.py:571
1950
1955
  msgid "Theme color for labels (hexadecimal code)"
1951
1956
  msgstr ""
1952
1957
 
1953
- #: core/app_settings.py:595
1958
+ #: core/app_settings.py:583
1954
1959
  msgid "Notifications"
1955
1960
  msgstr "Notifiche"
1956
1961
 
1957
- #: core/app_settings.py:601
1962
+ #: core/app_settings.py:589
1958
1963
  msgid "Sender address"
1959
1964
  msgstr "Indirizzo di invio"
1960
1965
 
1961
- #: core/app_settings.py:603
1966
+ #: core/app_settings.py:591
1962
1967
  msgid "Email address used to send notifications."
1963
1968
  msgstr "Indirizzo email utilizzato per inviare le notifiche"
1964
1969
 
1965
- #: core/app_settings.py:614
1970
+ #: core/app_settings.py:602
1966
1971
  msgid "Public API"
1967
1972
  msgstr "API pubblica"
1968
1973
 
1969
- #: core/app_settings.py:620
1974
+ #: core/app_settings.py:608
1970
1975
  msgid "Enable communication"
1971
1976
  msgstr "Abilita comunicazione"
1972
1977
 
1973
- #: core/app_settings.py:622 core/app_settings.py:632
1978
+ #: core/app_settings.py:610 core/app_settings.py:620
1974
1979
  msgid "Automatically checks if a newer version is available"
1975
1980
  msgstr "Controlla automaticamente se è disponibile una nuova versione"
1976
1981
 
1977
- #: core/app_settings.py:629
1982
+ #: core/app_settings.py:617
1978
1983
  msgid "Check new versions"
1979
1984
  msgstr "Controlla nuove versioni"
1980
1985
 
1981
- #: core/app_settings.py:640
1986
+ #: core/app_settings.py:628
1982
1987
  msgid "Send an email when new versions are found"
1983
1988
  msgstr ""
1984
1989
 
1985
- #: core/app_settings.py:644
1990
+ #: core/app_settings.py:632
1986
1991
  msgid "Send an email to notify admins about new versions"
1987
1992
  msgstr ""
1988
1993
 
1989
- #: core/app_settings.py:651 sievefilters/constants.py:25
1994
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1990
1995
  msgid "Recipient"
1991
1996
  msgstr "Destinatario"
1992
1997
 
1993
- #: core/app_settings.py:654
1998
+ #: core/app_settings.py:642
1994
1999
  msgid "Recipient of new versions notification emails."
1995
2000
  msgstr ""
1996
2001
 
1997
- #: core/app_settings.py:661
2002
+ #: core/app_settings.py:649
1998
2003
  msgid "Send statistics"
1999
2004
  msgstr "Invia statistiche"
2000
2005
 
2001
- #: core/app_settings.py:664
2006
+ #: core/app_settings.py:652
2002
2007
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
2003
2008
  msgstr ""
2004
2009
  "Invia statistiche all'API pubblica di modoboa (contatori ed estensioni "
2005
2010
  "utilizzate)"
2006
2011
 
2007
- #: core/app_settings.py:683
2012
+ #: core/app_settings.py:671
2008
2013
  #, fuzzy
2009
2014
  #| msgid "Inactive account threshold"
2010
2015
  msgid "Enable inactive account tracking"
2011
2016
  msgstr "Soglia account inattivo"
2012
2017
 
2013
- #: core/app_settings.py:686
2018
+ #: core/app_settings.py:674
2014
2019
  msgid ""
2015
2020
  "Allow the administrator to set a threshold (in days) beyond which an account "
2016
2021
  "is considered inactive if the user hasn't logged in"
2017
2022
  msgstr ""
2018
2023
 
2019
- #: core/app_settings.py:695
2024
+ #: core/app_settings.py:683
2020
2025
  msgid "Inactive account threshold"
2021
2026
  msgstr "Soglia account inattivo"
2022
2027
 
2023
- #: core/app_settings.py:698
2028
+ #: core/app_settings.py:686
2024
2029
  msgid ""
2025
2030
  "An account with a last login date greater than this threshold (in days) will "
2026
2031
  "be considered as inactive"
@@ -2028,48 +2033,38 @@ msgstr ""
2028
2033
  "Un account con una data di ultimo accesso più vecchia di questa soglia (in "
2029
2034
  "giorni) verrà considerato inattivo"
2030
2035
 
2031
- #: core/app_settings.py:707
2036
+ #: core/app_settings.py:695
2032
2037
  msgid "Top notifications check interval"
2033
2038
  msgstr "Intervallo notifiche"
2034
2039
 
2035
- #: core/app_settings.py:710
2040
+ #: core/app_settings.py:698
2036
2041
  msgid "Interval between two top notification checks (in seconds)"
2037
2042
  msgstr "Intervallo di tempo per la ricerca di nuove notifiche (in secondi)"
2038
2043
 
2039
- #: core/app_settings.py:717
2044
+ #: core/app_settings.py:705
2040
2045
  msgid "Maximum log record age"
2041
2046
  msgstr "Età massima dei log"
2042
2047
 
2043
- #: core/app_settings.py:719
2048
+ #: core/app_settings.py:707
2044
2049
  msgid "The maximum age in days of a log record"
2045
2050
  msgstr "La persistenza massima in giorni dei log"
2046
2051
 
2047
- #: core/app_settings.py:727
2052
+ #: core/app_settings.py:715
2048
2053
  msgid "Retention time in message history"
2049
2054
  msgstr ""
2050
2055
 
2051
- #: core/app_settings.py:730
2056
+ #: core/app_settings.py:718
2052
2057
  msgid "Retention time (in days) of a message in the message history section"
2053
2058
  msgstr ""
2054
2059
 
2055
- #: core/app_settings.py:737
2060
+ #: core/app_settings.py:725
2056
2061
  msgid "Items per page"
2057
2062
  msgstr "Elementi per pagina"
2058
2063
 
2059
- #: core/app_settings.py:739
2064
+ #: core/app_settings.py:727
2060
2065
  msgid "Number of displayed items per page"
2061
2066
  msgstr "Numero degli elementi visualizzati in ciascuna pagina"
2062
2067
 
2063
- #: core/app_settings.py:746
2064
- msgid "Default top redirection"
2065
- msgstr "Reindirizzamento principale predefinito"
2066
-
2067
- #: core/app_settings.py:748
2068
- msgid "The default redirection used when no application is specified"
2069
- msgstr ""
2070
- "Redirezione predefinita utilizzata quando non è specificata alcuna "
2071
- "applicazione"
2072
-
2073
2068
  #: core/checks.py:15
2074
2069
  msgid ""
2075
2070
  "You have USE_TZ set to False, this may result in issues during transitions "
@@ -2416,7 +2411,7 @@ msgid "Not resolved"
2416
2411
  msgstr ""
2417
2412
 
2418
2413
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
2419
- #: webmail/constants.py:18
2414
+ #: webmail/constants.py:38
2420
2415
  msgid "None"
2421
2416
  msgstr "Nessuno"
2422
2417
 
@@ -3393,7 +3388,7 @@ msgstr "è"
3393
3388
  msgid "is not"
3394
3389
  msgstr "non è"
3395
3390
 
3396
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3391
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
3397
3392
  msgid "Subject"
3398
3393
  msgstr "Oggetto"
3399
3394
 
@@ -3659,25 +3654,25 @@ msgstr ""
3659
3654
  msgid "SMTP settings"
3660
3655
  msgstr "Impostazioni SMTP"
3661
3656
 
3662
- #: webmail/app_settings.py:75
3657
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3663
3658
  #, fuzzy
3664
3659
  #| msgid "Address of your IMAP server"
3665
3660
  msgid "Address of your SMTP server"
3666
3661
  msgstr "Indirizzo del tuo server SMTP"
3667
3662
 
3668
- #: webmail/app_settings.py:82
3663
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3669
3664
  #, fuzzy
3670
3665
  #| msgid "Use a secured connection"
3671
3666
  msgid "Secured connection mode"
3672
3667
  msgstr "Modalità di connessione sicura"
3673
3668
 
3674
- #: webmail/app_settings.py:84
3669
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3675
3670
  #, fuzzy
3676
3671
  #| msgid "Use a secured connection to access IMAP server"
3677
3672
  msgid "Use a secured connection to access SMTP server"
3678
3673
  msgstr "Usa una connessione sicura per accedere al server SMTP"
3679
3674
 
3680
- #: webmail/app_settings.py:93
3675
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3681
3676
  #, fuzzy
3682
3677
  #| msgid "Listening port of your IMAP server"
3683
3678
  msgid "Listening port of your SMTP server"
@@ -3694,110 +3689,116 @@ msgstr "È richiesta l'autenticazione"
3694
3689
  msgid "Server needs authentication"
3695
3690
  msgstr "Il server richiede l'autenticazione"
3696
3691
 
3697
- #: webmail/app_settings.py:124
3692
+ #: webmail/app_settings.py:113
3693
+ #, fuzzy
3694
+ #| msgid "Connection settings"
3695
+ msgid "Scheduling settings"
3696
+ msgstr "Impostazioni ManageSieve"
3697
+
3698
+ #: webmail/app_settings.py:161
3698
3699
  msgid "Default message display mode"
3699
3700
  msgstr "Modalità di visualizzazione del messaggio predefinita"
3700
3701
 
3701
- #: webmail/app_settings.py:126
3702
+ #: webmail/app_settings.py:163
3702
3703
  #, fuzzy
3703
3704
  #| msgid "The default redirection used when no application is specified"
3704
3705
  msgid "The default mode used when displaying a message"
3705
3706
  msgstr ""
3706
3707
  "La modalità di visualizzazione predefinita quando viene mostrato il messaggio"
3707
3708
 
3708
- #: webmail/app_settings.py:133
3709
+ #: webmail/app_settings.py:170
3709
3710
  msgid "Enable HTML links display"
3710
3711
  msgstr "Attiva la visualizzazione dei collegamenti HTML"
3711
3712
 
3712
- #: webmail/app_settings.py:136
3713
+ #: webmail/app_settings.py:173
3713
3714
  msgid "Enable/Disable HTML links display"
3714
3715
  msgstr "Attiva/Disattiva la visualizzazione dei collegamenti HTML"
3715
3716
 
3716
- #: webmail/app_settings.py:147
3717
+ #: webmail/app_settings.py:184
3717
3718
  msgid "Sets the maximum number of messages displayed in a page"
3718
3719
  msgstr "Imposta il numero massimo di messaggi da visualizzare in una pagina"
3719
3720
 
3720
- #: webmail/app_settings.py:154
3721
+ #: webmail/app_settings.py:191
3721
3722
  msgid "Listing refresh rate"
3722
3723
  msgstr "Frequenza di aggiornamento dell'elenco"
3723
3724
 
3724
- #: webmail/app_settings.py:156
3725
+ #: webmail/app_settings.py:193
3725
3726
  msgid "Automatic listing refresh rate (in secconds)"
3726
3727
  msgstr ""
3727
3728
 
3728
- #: webmail/app_settings.py:163
3729
+ #: webmail/app_settings.py:200
3729
3730
  msgid "Folder container's width"
3730
3731
  msgstr "Larghezza del contenitore delle caselle"
3731
3732
 
3732
- #: webmail/app_settings.py:165
3733
+ #: webmail/app_settings.py:202
3733
3734
  msgid "The width of the folder list container"
3734
3735
  msgstr "Larghezza della lista delle caselle"
3735
3736
 
3736
- #: webmail/app_settings.py:176
3737
+ #: webmail/app_settings.py:213
3737
3738
  msgid "Folders"
3738
3739
  msgstr ""
3739
3740
 
3740
- #: webmail/app_settings.py:182
3741
+ #: webmail/app_settings.py:219
3741
3742
  msgid "Trash folder"
3742
3743
  msgstr "Cestino"
3743
3744
 
3744
- #: webmail/app_settings.py:184
3745
+ #: webmail/app_settings.py:221
3745
3746
  #, fuzzy
3746
3747
  #| msgid "rejected messages"
3747
3748
  msgid "Folder where deleted messages go"
3748
3749
  msgstr "Cartella dove finiscono i messaggi eliminati"
3749
3750
 
3750
- #: webmail/app_settings.py:191
3751
+ #: webmail/app_settings.py:228
3751
3752
  msgid "Sent folder"
3752
3753
  msgstr "Inviati"
3753
3754
 
3754
- #: webmail/app_settings.py:193
3755
+ #: webmail/app_settings.py:230
3755
3756
  msgid "Folder where copies of sent messages go"
3756
3757
  msgstr "Cartella dove finiscono le copie dei messaggi spediti"
3757
3758
 
3758
- #: webmail/app_settings.py:200
3759
+ #: webmail/app_settings.py:237
3759
3760
  msgid "Drafts folder"
3760
3761
  msgstr "Bozze"
3761
3762
 
3762
- #: webmail/app_settings.py:201
3763
+ #: webmail/app_settings.py:238
3763
3764
  msgid "Folder where drafts go"
3764
3765
  msgstr "Cartella dove finiscono le bozze"
3765
3766
 
3766
- #: webmail/app_settings.py:207
3767
+ #: webmail/app_settings.py:244
3767
3768
  #, fuzzy
3768
3769
  #| msgid "Sent folder"
3769
3770
  msgid "Junk folder"
3770
3771
  msgstr "Inviati"
3771
3772
 
3772
- #: webmail/app_settings.py:209
3773
+ #: webmail/app_settings.py:246
3773
3774
  #, fuzzy
3774
3775
  #| msgid "rejected messages"
3775
3776
  msgid "Folder where junk messages should go"
3776
3777
  msgstr "Cartella dove finiscono i messaggi eliminati"
3777
3778
 
3778
- #: webmail/app_settings.py:220
3779
+ #: webmail/app_settings.py:257
3779
3780
  #, fuzzy
3780
3781
  #| msgid "sent messages"
3781
3782
  msgid "Composing messages"
3782
3783
  msgstr "Composizione messaggi"
3783
3784
 
3784
- #: webmail/app_settings.py:226
3785
+ #: webmail/app_settings.py:263
3785
3786
  #, fuzzy
3786
3787
  #| msgid "Default top redirection"
3787
3788
  msgid "Default editor"
3788
3789
  msgstr "Editor predefinito"
3789
3790
 
3790
- #: webmail/app_settings.py:228
3791
+ #: webmail/app_settings.py:265
3791
3792
  #, fuzzy
3792
3793
  #| msgid "The default redirection used when no application is specified"
3793
3794
  msgid "The default editor to use when composing a message"
3794
3795
  msgstr "L'editor predefinito da usare quando si scrive un messaggio"
3795
3796
 
3796
- #: webmail/app_settings.py:235
3797
+ #: webmail/app_settings.py:272
3797
3798
  msgid "Signature text"
3798
3799
  msgstr "Testo signature"
3799
3800
 
3800
- #: webmail/app_settings.py:237
3801
+ #: webmail/app_settings.py:274
3801
3802
  msgid "User defined email signature"
3802
3803
  msgstr "Signature delle e-mail personalizzato dall'utente"
3803
3804
 
@@ -3813,47 +3814,74 @@ msgstr "Indirizzo del server"
3813
3814
  msgid "Failed to remove attachment: "
3814
3815
  msgstr "Rimozione allegato fallita: "
3815
3816
 
3816
- #: webmail/lib/imapemail.py:272
3817
+ #: webmail/lib/imapemail.py:270
3817
3818
  msgid "wrote:"
3818
3819
  msgstr ""
3819
3820
 
3820
- #: webmail/lib/imapemail.py:306
3821
+ #: webmail/lib/imapemail.py:304
3821
3822
  msgid "Date"
3822
3823
  msgstr "Data"
3823
3824
 
3824
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3825
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3825
3826
  #, fuzzy
3826
3827
  #| msgid "sent messages"
3827
3828
  msgid "Original message"
3828
3829
  msgstr "Tutti i messaggi"
3829
3830
 
3830
- #: webmail/lib/imaputils.py:221
3831
+ #: webmail/lib/imaputils.py:222
3831
3832
  msgid "Failed to retrieve hierarchy delimiter"
3832
3833
  msgstr "Impossibile recuperare il delimitatore delle gerarchie"
3833
3834
 
3834
- #: webmail/lib/imaputils.py:472
3835
+ #: webmail/lib/imaputils.py:478
3835
3836
  msgid "Inbox"
3836
3837
  msgstr ""
3837
3838
 
3838
- #: webmail/lib/imaputils.py:476
3839
+ #: webmail/lib/imaputils.py:482
3839
3840
  #, fuzzy
3840
3841
  #| msgid "Drafts folder"
3841
3842
  msgid "Drafts"
3842
3843
  msgstr "Bozze"
3843
3844
 
3844
- #: webmail/lib/imaputils.py:481
3845
+ #: webmail/lib/imaputils.py:487
3845
3846
  msgid "Junk"
3846
3847
  msgstr ""
3847
3848
 
3848
- #: webmail/lib/imaputils.py:486
3849
+ #: webmail/lib/imaputils.py:492
3849
3850
  msgid "Sent"
3850
3851
  msgstr ""
3851
3852
 
3852
- #: webmail/lib/imaputils.py:491
3853
+ #: webmail/lib/imaputils.py:500
3854
+ msgid "Scheduled"
3855
+ msgstr ""
3856
+
3857
+ #: webmail/lib/imaputils.py:507
3853
3858
  msgid "Trash"
3854
3859
  msgstr ""
3855
3860
 
3856
- #: webmail/viewsets.py:357
3861
+ #: webmail/serializers.py:220
3862
+ msgid "Moving scheduled messages is forbidden"
3863
+ msgstr ""
3864
+
3865
+ #: webmail/serializers.py:253
3866
+ msgid "Only datetime in the future is allowed"
3867
+ msgstr ""
3868
+
3869
+ #: webmail/serializers.py:258
3870
+ msgid "Provived datetime must be one minute in the future at least"
3871
+ msgstr ""
3872
+
3873
+ #: webmail/viewsets.py:359
3857
3874
  #, python-format
3858
3875
  msgid "Attachment is too big (limit: %s)"
3859
3876
  msgstr "L'allegato è troppo grande (limite: %s)"
3877
+
3878
+ #~ msgid "User profile"
3879
+ #~ msgstr "Profilo utente"
3880
+
3881
+ #~ msgid "Default top redirection"
3882
+ #~ msgstr "Reindirizzamento principale predefinito"
3883
+
3884
+ #~ msgid "The default redirection used when no application is specified"
3885
+ #~ msgstr ""
3886
+ #~ "Redirezione predefinita utilizzata quando non è specificata alcuna "
3887
+ #~ "applicazione"