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
@@ -13,7 +13,7 @@ msgid ""
13
13
  msgstr ""
14
14
  "Project-Id-Version: Modoboa\n"
15
15
  "Report-Msgid-Bugs-To: \n"
16
- "POT-Creation-Date: 2025-12-02 16:07+0100\n"
16
+ "POT-Creation-Date: 2026-02-04 09:30+0100\n"
17
17
  "PO-Revision-Date: 2024-07-17 11:45+0200\n"
18
18
  "Last-Translator: Mike C. <miguelmclara@gmail.com>\n"
19
19
  "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/"
@@ -60,16 +60,16 @@ msgid "Cannot be greater than domain quota"
60
60
  msgstr ""
61
61
 
62
62
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
63
- #: admin/api/v2/serializers.py:570 admin/models/alias.py:45
63
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
64
64
  #, fuzzy
65
65
  #| msgid "Permissions"
66
66
  msgid "Permission denied."
67
67
  msgstr "Permissões"
68
68
 
69
69
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
70
- #: admin/api/v2/serializers.py:491 amavis/serializers.py:39
71
- #: core/api/v2/serializers.py:255 core/api/v2/serializers.py:257
72
- #: core/api/v2/serializers.py:266 transport/backends.py:40
70
+ #: admin/api/v2/serializers.py:492 amavis/serializers.py:39
71
+ #: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
72
+ #: core/api/v2/serializers.py:259 transport/backends.py:40
73
73
  msgid "This field is required"
74
74
  msgstr "Este campo é obrigatório"
75
75
 
@@ -78,7 +78,7 @@ msgid ""
78
78
  "List of administered domains (resellers and domain administrators only)."
79
79
  msgstr ""
80
80
 
81
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:552
81
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
82
82
  msgid "Not allowed for this role."
83
83
  msgstr ""
84
84
 
@@ -86,15 +86,14 @@ msgstr ""
86
86
  msgid "Must be equal to mailbox full_address"
87
87
  msgstr ""
88
88
 
89
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:604
90
- #: calendars/serializers.py:175 calendars/serializers.py:177
91
- #: pdfcredentials/api/v2/serializers.py:91
89
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
90
+ #: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
92
91
  #, fuzzy
93
92
  #| msgid "A mailbox is required"
94
93
  msgid "This field is required."
95
94
  msgstr "É necessária uma caixa de correio"
96
95
 
97
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:621
96
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
98
97
  #, fuzzy
99
98
  #| msgid "Domain does not exist"
100
99
  msgid "Local domain {} does not exist"
@@ -143,43 +142,43 @@ msgstr ""
143
142
  msgid "User '%s' already exists"
144
143
  msgstr "O utilizador '%s' já existe"
145
144
 
146
- #: admin/api/v2/serializers.py:255 admin/api/v2/serializers.py:261
145
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
147
146
  msgid "Must be a positive integer"
148
147
  msgstr "Tem de ser um inteiro, positivo"
149
148
 
150
- #: admin/api/v2/serializers.py:270
149
+ #: admin/api/v2/serializers.py:271
151
150
  msgid "openssl not found, please make sure it is installed."
152
151
  msgstr ""
153
152
 
154
- #: admin/api/v2/serializers.py:273 pdfcredentials/api/v2/serializers.py:84
153
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
155
154
  #, fuzzy
156
155
  #| msgid "Domain modified"
157
156
  msgid "Directory not found."
158
157
  msgstr "Domínio alterado"
159
158
 
160
- #: admin/api/v2/serializers.py:284
159
+ #: admin/api/v2/serializers.py:285
161
160
  msgid "This field only allows valid IP addresses (or networks)"
162
161
  msgstr ""
163
162
 
164
- #: admin/api/v2/serializers.py:297
163
+ #: admin/api/v2/serializers.py:298
165
164
  msgid "Please disable imap migration before disabling this option."
166
165
  msgstr ""
167
166
 
168
- #: admin/api/v2/serializers.py:310
167
+ #: admin/api/v2/serializers.py:311
169
168
  msgid "Define at least one authorized network / address"
170
169
  msgstr ""
171
170
 
172
- #: admin/api/v2/serializers.py:587
171
+ #: admin/api/v2/serializers.py:588
173
172
  msgid "The left part of an email address can't be more than 64 characters."
174
173
  msgstr ""
175
174
 
176
- #: admin/api/v2/serializers.py:609
175
+ #: admin/api/v2/serializers.py:610
177
176
  #, fuzzy
178
177
  #| msgid "A mailbox is required"
179
178
  msgid "A mailbox is required to create aliases."
180
179
  msgstr "É necessária uma caixa de correio"
181
180
 
182
- #: admin/api/v2/serializers.py:782
181
+ #: admin/api/v2/serializers.py:783
183
182
  #, fuzzy
184
183
  #| msgid "Unknown domain %s"
185
184
  msgid "Unknown status"
@@ -273,38 +272,48 @@ msgstr ""
273
272
  msgid "Check every domain against major DNSBL providers"
274
273
  msgstr ""
275
274
 
276
- #: admin/app_settings.py:116
275
+ #: admin/app_settings.py:117
276
+ msgid "Notify domain admins about DNS issues"
277
+ msgstr ""
278
+
279
+ #: admin/app_settings.py:120
280
+ msgid ""
281
+ "Send a notification by email to domain administrators when DNS issues are "
282
+ "encountered"
283
+ msgstr ""
284
+
285
+ #: admin/app_settings.py:128
277
286
  msgid "Custom DNS server"
278
287
  msgstr ""
279
288
 
280
- #: admin/app_settings.py:118
289
+ #: admin/app_settings.py:130
281
290
  msgid "Use a custom DNS server instead of local server configuration"
282
291
  msgstr ""
283
292
 
284
- #: admin/app_settings.py:126
293
+ #: admin/app_settings.py:138
285
294
  msgid "DKIM keys storage directory"
286
295
  msgstr ""
287
296
 
288
- #: admin/app_settings.py:128
297
+ #: admin/app_settings.py:140
289
298
  msgid ""
290
299
  "Absolute path of the directory where DKIM private keys will be stored. Make "
291
300
  "sure this directory belongs to root user and is not readable by the outside "
292
301
  "world."
293
302
  msgstr ""
294
303
 
295
- #: admin/app_settings.py:137
304
+ #: admin/app_settings.py:149
296
305
  msgid "Default DKIM key length"
297
306
  msgstr ""
298
307
 
299
- #: admin/app_settings.py:139
308
+ #: admin/app_settings.py:151
300
309
  msgid "Default length in bits for newly generated DKIM keys."
301
310
  msgstr ""
302
311
 
303
- #: admin/app_settings.py:146
312
+ #: admin/app_settings.py:158
304
313
  msgid "Default domain quota"
305
314
  msgstr "Quota pré-definida para o domínio"
306
315
 
307
- #: admin/app_settings.py:148
316
+ #: admin/app_settings.py:160
308
317
  msgid ""
309
318
  "Default quota (in MB) applied to freshly created domains with no value "
310
319
  "specified. A value of 0 means no quota."
@@ -312,28 +321,28 @@ msgstr ""
312
321
  "Quota (em MB) a aplicar a domínios recentemente criados sem valor "
313
322
  "especificado. Um valor de 0 implica sem quota."
314
323
 
315
- #: admin/app_settings.py:156
324
+ #: admin/app_settings.py:168
316
325
  #, fuzzy
317
326
  #| msgid "Default domain quota"
318
327
  msgid "Default domain sending limit"
319
328
  msgstr "Quota pré-definida para o domínio"
320
329
 
321
- #: admin/app_settings.py:158
330
+ #: admin/app_settings.py:170
322
331
  msgid ""
323
332
  "Number of messages freshly created domains will be allowed to send per day. "
324
333
  "Leave empty for no limit."
325
334
  msgstr ""
326
335
 
327
- #: admin/app_settings.py:170 limits/app_settings.py:61
336
+ #: admin/app_settings.py:182 limits/app_settings.py:61
328
337
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
329
338
  msgid "Mailboxes"
330
339
  msgstr ""
331
340
 
332
- #: admin/app_settings.py:176
341
+ #: admin/app_settings.py:188
333
342
  msgid "Handle mailboxes on filesystem"
334
343
  msgstr "Lidar com caixas de correio no sistema de ficheiros"
335
344
 
336
- #: admin/app_settings.py:178
345
+ #: admin/app_settings.py:190
337
346
  msgid ""
338
347
  "Rename or remove mailboxes on the filesystem when they get renamed or "
339
348
  "removed within Modoboa"
@@ -341,13 +350,13 @@ msgstr ""
341
350
  "Renomear ou remover as caixas de correio no sistema de ficheiros quando "
342
351
  "estas são renomeadas no Modoboa"
343
352
 
344
- #: admin/app_settings.py:186 admin/models/domain.py:36
353
+ #: admin/app_settings.py:198 admin/models/domain.py:36
345
354
  #, fuzzy
346
355
  #| msgid "Default domain quota"
347
356
  msgid "Default mailbox quota"
348
357
  msgstr "Quota pré-definida para o domínio"
349
358
 
350
- #: admin/app_settings.py:188
359
+ #: admin/app_settings.py:200
351
360
  #, fuzzy
352
361
  #| msgid ""
353
362
  #| "Default quota (in MB) applied to freshly created domains with no value "
@@ -359,76 +368,76 @@ msgstr ""
359
368
  "Quota (em MB) a aplicar a domínios recentemente criados sem valor "
360
369
  "especificado. Um valor de 0 implica sem quota."
361
370
 
362
- #: admin/app_settings.py:197
371
+ #: admin/app_settings.py:209
363
372
  #, fuzzy
364
373
  #| msgid "Default domain quota"
365
374
  msgid "Default mailbox sending limit"
366
375
  msgstr "Quota pré-definida para o domínio"
367
376
 
368
- #: admin/app_settings.py:199
377
+ #: admin/app_settings.py:211
369
378
  msgid ""
370
379
  "Number of messages freshly created mailboxes will be allowed to send per "
371
380
  "day. Leave empty for no limit."
372
381
  msgstr ""
373
382
 
374
- #: admin/app_settings.py:207
383
+ #: admin/app_settings.py:219
375
384
  msgid "Automatic account removal"
376
385
  msgstr "Remoção automática de conta"
377
386
 
378
- #: admin/app_settings.py:209
387
+ #: admin/app_settings.py:221
379
388
  msgid "When a mailbox is removed, also remove the associated account"
380
389
  msgstr ""
381
390
  "Ao remover uma caixa de correio estará também a remover a conta associada"
382
391
 
383
- #: admin/app_settings.py:218
392
+ #: admin/app_settings.py:230
384
393
  msgid "Automatic domain/mailbox creation"
385
394
  msgstr "Criação automatica de domino/caixa de correio"
386
395
 
387
- #: admin/app_settings.py:221
396
+ #: admin/app_settings.py:233
388
397
  msgid "Create a domain and a mailbox when an account is automatically created."
389
398
  msgstr ""
390
399
  "Criar um dominio e uma caixa de correio quando uma conta é criada "
391
400
  "automátiamente."
392
401
 
393
- #: admin/app_settings.py:230
402
+ #: admin/app_settings.py:242
394
403
  msgid "Create an alias when a mailbox is renamed"
395
404
  msgstr ""
396
405
 
397
- #: admin/app_settings.py:233
406
+ #: admin/app_settings.py:245
398
407
  msgid "Create an alias using the old address when a mailbox is renamed."
399
408
  msgstr ""
400
409
 
401
- #: admin/app_settings.py:245
410
+ #: admin/app_settings.py:257
402
411
  #, fuzzy
403
412
  #| msgid "alias"
404
413
  msgid "Aliases"
405
414
  msgstr "alias"
406
415
 
407
- #: admin/app_settings.py:251
416
+ #: admin/app_settings.py:263
408
417
  msgid "Alias can target any domain"
409
418
  msgstr ""
410
419
 
411
- #: admin/app_settings.py:253
420
+ #: admin/app_settings.py:265
412
421
  msgid "Allow aliases to target any domain, not just the local domains."
413
422
  msgstr ""
414
423
 
415
- #: admin/app_settings.py:260
424
+ #: admin/app_settings.py:272
416
425
  msgid "Alias target block list"
417
426
  msgstr ""
418
427
 
419
- #: admin/app_settings.py:262
428
+ #: admin/app_settings.py:274
420
429
  msgid "A list of domains that aliases cannot target (comma separated)."
421
430
  msgstr ""
422
431
 
423
- #: admin/app_settings.py:270
432
+ #: admin/app_settings.py:282
424
433
  msgid "Alias target allow list"
425
434
  msgstr ""
426
435
 
427
- #: admin/app_settings.py:272
436
+ #: admin/app_settings.py:284
428
437
  msgid "A list of domains that aliases can target (comma separated)."
429
438
  msgstr ""
430
439
 
431
- #: admin/app_settings.py:326 core/api/v2/viewsets.py:174
440
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
432
441
  msgid "Administration"
433
442
  msgstr "Administração"
434
443
 
@@ -450,6 +459,37 @@ msgstr ""
450
459
  msgid "Closed"
451
460
  msgstr ""
452
461
 
462
+ #: admin/dns_checker.py:96
463
+ msgid "MX {} listed by DNSBL provider {}"
464
+ msgstr ""
465
+
466
+ #: admin/dns_checker.py:138
467
+ #, fuzzy
468
+ #| msgid "Domain modified"
469
+ msgid "Domain has no MX record"
470
+ msgstr "Domínio alterado"
471
+
472
+ #: admin/dns_checker.py:141
473
+ msgid "Domain {} has no MX record"
474
+ msgstr ""
475
+
476
+ #: admin/dns_checker.py:159
477
+ msgid "Invalid MX record: {}"
478
+ msgstr ""
479
+
480
+ #: admin/dns_checker.py:166
481
+ #, python-brace-format
482
+ msgid "MX record for domain {0} is invalid: {1}"
483
+ msgstr ""
484
+
485
+ #: admin/dns_checker.py:177
486
+ msgid "[modoboa] MX issue(s) for domain {}"
487
+ msgstr ""
488
+
489
+ #: admin/dns_checker.py:224
490
+ msgid "[modoboa] DNSBL issue(s) for domain {}"
491
+ msgstr ""
492
+
453
493
  #: admin/handlers.py:179
454
494
  msgid "domain alias"
455
495
  msgstr "'Alias' de domínio"
@@ -474,8 +514,8 @@ msgstr "Não é possível eliminar o seu próprio domínio"
474
514
  msgid "You are not allowed to import domain aliases."
475
515
  msgstr ""
476
516
 
477
- #: admin/lib.py:227 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
478
- #: admin/tests/test_mx.py:171
517
+ #: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
518
+ #: admin/tests/test_mx.py:157
479
519
  #, python-format
480
520
  msgid "No DNS record found for %s"
481
521
  msgstr ""
@@ -485,11 +525,11 @@ msgstr ""
485
525
  msgid "No %(type)s record for %(name)s"
486
526
  msgstr ""
487
527
 
488
- #: admin/lib.py:234 admin/tests/test_mx.py:156
528
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
489
529
  msgid "No working name servers found"
490
530
  msgstr ""
491
531
 
492
- #: admin/lib.py:237 admin/tests/test_mx.py:160
532
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
493
533
  #, python-format
494
534
  msgid "DNS resolution timeout, unable to query %s at the moment"
495
535
  msgstr ""
@@ -542,37 +582,6 @@ msgstr ""
542
582
  msgid "Failed to generate DKIM public key"
543
583
  msgstr ""
544
584
 
545
- #: admin/management/commands/subcommands/_mx.py:133
546
- msgid "MX {} listed by DNSBL provider {}"
547
- msgstr ""
548
-
549
- #: admin/management/commands/subcommands/_mx.py:174
550
- #, fuzzy
551
- #| msgid "Domain modified"
552
- msgid "Domain has no MX record"
553
- msgstr "Domínio alterado"
554
-
555
- #: admin/management/commands/subcommands/_mx.py:177
556
- msgid "Domain {} has no MX record"
557
- msgstr ""
558
-
559
- #: admin/management/commands/subcommands/_mx.py:195
560
- msgid "Invalid MX record: {}"
561
- msgstr ""
562
-
563
- #: admin/management/commands/subcommands/_mx.py:202
564
- #, python-brace-format
565
- msgid "MX record for domain {0} is invalid: {1}"
566
- msgstr ""
567
-
568
- #: admin/management/commands/subcommands/_mx.py:213
569
- msgid "[modoboa] MX issue(s) for domain {}"
570
- msgstr ""
571
-
572
- #: admin/management/commands/subcommands/_mx.py:269
573
- msgid "[modoboa] DNSBL issue(s) for domain {}"
574
- msgstr ""
575
-
576
585
  #: admin/models/alias.py:43
577
586
  #, fuzzy
578
587
  #| msgid "Domain modified"
@@ -773,17 +782,17 @@ msgstr ""
773
782
  msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
774
783
  msgstr ""
775
784
 
776
- #: admin/tests/test_mx.py:155
785
+ #: admin/tests/test_mx.py:141
777
786
  #, python-format
778
787
  msgid "No MX record for %s"
779
788
  msgstr ""
780
789
 
781
- #: admin/tests/test_mx.py:176 admin/tests/test_mx.py:182
790
+ #: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
782
791
  #, python-format
783
792
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
784
793
  msgstr ""
785
794
 
786
- #: admin/tests/test_mx.py:199
795
+ #: admin/tests/test_mx.py:185
787
796
  #, fuzzy, python-format
788
797
  #| msgid "Domain modified"
789
798
  msgid "No AAAA record for %s"
@@ -982,13 +991,13 @@ msgid ""
982
991
  "database)"
983
992
  msgstr ""
984
993
 
985
- #: amavis/app_settings.py:236 webmail/app_settings.py:118
994
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
986
995
  #, fuzzy
987
996
  #| msgid "Display"
988
997
  msgid "Display"
989
998
  msgstr "Exibir"
990
999
 
991
- #: amavis/app_settings.py:243 webmail/app_settings.py:144
1000
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
992
1001
  #, fuzzy
993
1002
  #| msgid "Number of displayed items per page"
994
1003
  msgid "Number of displayed emails per page"
@@ -1278,7 +1287,7 @@ msgid "Allow domain administrators to manage user calendars (read and write)"
1278
1287
  msgstr ""
1279
1288
  "Número máximo de administradores de domínio que este utilizador pode criar"
1280
1289
 
1281
- #: calendars/app_settings.py:60 core/app_settings.py:676
1290
+ #: calendars/app_settings.py:60 core/app_settings.py:664
1282
1291
  #: rspamd/app_settings.py:45
1283
1292
  msgid "Miscellaneous"
1284
1293
  msgstr "Vários"
@@ -1296,11 +1305,11 @@ msgstr ""
1296
1305
  msgid "Calendars"
1297
1306
  msgstr ""
1298
1307
 
1299
- #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:38
1308
+ #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
1300
1309
  msgid "Server location is not set, please fix it."
1301
1310
  msgstr ""
1302
1311
 
1303
- #: calendars/viewsets.py:197
1312
+ #: calendars/viewsets.py:199
1304
1313
  msgid "Uploaded file is too big (max: {} bytes)"
1305
1314
  msgstr ""
1306
1315
 
@@ -1389,7 +1398,7 @@ msgstr ""
1389
1398
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
1390
1399
  msgstr ""
1391
1400
 
1392
- #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:445
1401
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
1393
1402
  #, fuzzy
1394
1403
  #| msgid "Old password"
1395
1404
  msgid "Invalid password"
@@ -1403,26 +1412,20 @@ msgstr ""
1403
1412
  msgid "Local"
1404
1413
  msgstr "Local"
1405
1414
 
1406
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
1407
- #, fuzzy
1408
- #| msgid "Profile"
1409
- msgid "User profile"
1410
- msgstr "Perfil"
1411
-
1412
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
1413
- #: core/api/v2/serializers.py:228
1415
+ #: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
1416
+ #: core/api/v2/serializers.py:221
1414
1417
  msgid "Invalid syntax"
1415
1418
  msgstr "Sintax inválida"
1416
1419
 
1417
- #: core/api/v2/serializers.py:233
1420
+ #: core/api/v2/serializers.py:226
1418
1421
  msgid "Invalid rounds number"
1419
1422
  msgstr "Número de linhas inválido"
1420
1423
 
1421
- #: core/api/v2/serializers.py:433 core/forms.py:81
1424
+ #: core/api/v2/serializers.py:426 core/forms.py:81
1422
1425
  msgid "This code is invalid"
1423
1426
  msgstr ""
1424
1427
 
1425
- #: core/api/v2/serializers.py:503 core/views/auth.py:213 core/views/auth.py:266
1428
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
1426
1429
  msgid "Please use the following code to recover your Modoboa password: {}"
1427
1430
  msgstr ""
1428
1431
 
@@ -1455,198 +1458,198 @@ msgid "Calendar"
1455
1458
  msgstr ""
1456
1459
 
1457
1460
  #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1458
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1461
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1459
1462
  #, fuzzy
1460
1463
  #| msgid "E-mail"
1461
1464
  msgid "Webmail"
1462
1465
  msgstr "Webmail"
1463
1466
 
1464
- #: core/app_settings.py:37
1467
+ #: core/app_settings.py:25
1465
1468
  msgid "Authentication"
1466
1469
  msgstr "Autenticação"
1467
1470
 
1468
- #: core/app_settings.py:43
1471
+ #: core/app_settings.py:31
1469
1472
  msgid "Authentication type"
1470
1473
  msgstr "Tipo de autenticação"
1471
1474
 
1472
- #: core/app_settings.py:45
1475
+ #: core/app_settings.py:33
1473
1476
  msgid "The backend used for authentication"
1474
1477
  msgstr "Backend usado para autenticação"
1475
1478
 
1476
- #: core/app_settings.py:52
1479
+ #: core/app_settings.py:40
1477
1480
  msgid "Default password scheme"
1478
1481
  msgstr "Esquema pré-definido para passwords"
1479
1482
 
1480
- #: core/app_settings.py:54
1483
+ #: core/app_settings.py:42
1481
1484
  msgid "Scheme used to crypt mailbox passwords"
1482
1485
  msgstr "Esquema usado para encriptar as passwords das caixas de correio"
1483
1486
 
1484
- #: core/app_settings.py:61
1487
+ #: core/app_settings.py:49
1485
1488
  msgid "Rounds"
1486
1489
  msgstr ""
1487
1490
 
1488
- #: core/app_settings.py:63
1491
+ #: core/app_settings.py:51
1489
1492
  msgid ""
1490
1493
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1491
1494
  "between 1000 and 999999999, inclusive."
1492
1495
  msgstr ""
1493
1496
 
1494
- #: core/app_settings.py:73
1497
+ #: core/app_settings.py:61
1495
1498
  #, fuzzy
1496
1499
  #| msgid "Default password scheme"
1497
1500
  msgid "Update password scheme at login"
1498
1501
  msgstr "Esquema pré-definido para passwords"
1499
1502
 
1500
- #: core/app_settings.py:76
1503
+ #: core/app_settings.py:64
1501
1504
  msgid "Update user password at login to use the default password scheme"
1502
1505
  msgstr ""
1503
1506
 
1504
- #: core/app_settings.py:84
1507
+ #: core/app_settings.py:72
1505
1508
  #, fuzzy
1506
1509
  #| msgid "Default password scheme"
1507
1510
  msgid "Default password"
1508
1511
  msgstr "Esquema pré-definido para passwords"
1509
1512
 
1510
- #: core/app_settings.py:86
1513
+ #: core/app_settings.py:74
1511
1514
  msgid "Default password for automatically created accounts."
1512
1515
  msgstr ""
1513
1516
 
1514
- #: core/app_settings.py:93
1517
+ #: core/app_settings.py:81
1515
1518
  #, fuzzy
1516
1519
  #| msgid "Bind password"
1517
1520
  msgid "Random password length"
1518
1521
  msgstr "Password para bind"
1519
1522
 
1520
- #: core/app_settings.py:95
1523
+ #: core/app_settings.py:83
1521
1524
  msgid "Length of randomly generated passwords."
1522
1525
  msgstr ""
1523
1526
 
1524
- #: core/app_settings.py:103
1527
+ #: core/app_settings.py:91
1525
1528
  msgid "Allow special characters for random password"
1526
1529
  msgstr ""
1527
1530
 
1528
- #: core/app_settings.py:106
1531
+ #: core/app_settings.py:94
1529
1532
  msgid "Enable special characters in randomly generated passwords."
1530
1533
  msgstr ""
1531
1534
 
1532
- #: core/app_settings.py:114
1535
+ #: core/app_settings.py:102
1533
1536
  #, fuzzy
1534
1537
  #| msgid "Default password scheme"
1535
1538
  msgid "Update password service URL"
1536
1539
  msgstr "Esquema pré-definido para passwords"
1537
1540
 
1538
- #: core/app_settings.py:116
1541
+ #: core/app_settings.py:104
1539
1542
  msgid ""
1540
1543
  "The URL of an external page where users will be able to update their "
1541
1544
  "password. It applies only to non local users, ie. those automatically "
1542
1545
  "created after a successful external authentication (LDAP, SMTP)."
1543
1546
  msgstr ""
1544
1547
 
1545
- #: core/app_settings.py:126
1548
+ #: core/app_settings.py:114
1546
1549
  msgid "Password recovery announcement"
1547
1550
  msgstr ""
1548
1551
 
1549
- #: core/app_settings.py:128
1552
+ #: core/app_settings.py:116
1550
1553
  msgid "A temporary message that will be displayed on the reset password page."
1551
1554
  msgstr ""
1552
1555
 
1553
- #: core/app_settings.py:137
1556
+ #: core/app_settings.py:125
1554
1557
  msgid "Enable password recovery by SMS"
1555
1558
  msgstr ""
1556
1559
 
1557
- #: core/app_settings.py:140
1560
+ #: core/app_settings.py:128
1558
1561
  msgid "Enable password recovery by SMS for users who filled a phone number."
1559
1562
  msgstr ""
1560
1563
 
1561
- #: core/app_settings.py:148
1564
+ #: core/app_settings.py:136
1562
1565
  msgid "SMS provider"
1563
1566
  msgstr ""
1564
1567
 
1565
- #: core/app_settings.py:151
1568
+ #: core/app_settings.py:139
1566
1569
  msgid "Choose a provider to send password recovery SMS"
1567
1570
  msgstr ""
1568
1571
 
1569
- #: core/app_settings.py:163
1572
+ #: core/app_settings.py:151
1570
1573
  msgid "LDAP"
1571
1574
  msgstr ""
1572
1575
 
1573
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1576
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1574
1577
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1575
- #: webmail/app_settings.py:73
1578
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1576
1579
  msgid "Server address"
1577
1580
  msgstr "Endereço do Servidor"
1578
1581
 
1579
- #: core/app_settings.py:171
1582
+ #: core/app_settings.py:159
1580
1583
  msgid "The IP address or the DNS name of the LDAP server"
1581
1584
  msgstr "O endereço IP do servidor de DNS do servidor LDAP"
1582
1585
 
1583
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1586
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1584
1587
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1585
- #: webmail/app_settings.py:91
1588
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1586
1589
  msgid "Server port"
1587
1590
  msgstr "Porta do Servidor"
1588
1591
 
1589
- #: core/app_settings.py:180
1592
+ #: core/app_settings.py:168
1590
1593
  msgid "The TCP port number used by the LDAP server"
1591
1594
  msgstr " A porta TCP usada pelo servidor LDAP"
1592
1595
 
1593
- #: core/app_settings.py:188
1596
+ #: core/app_settings.py:176
1594
1597
  msgid "Enable secondary server (fallback)"
1595
1598
  msgstr ""
1596
1599
 
1597
- #: core/app_settings.py:191
1600
+ #: core/app_settings.py:179
1598
1601
  msgid ""
1599
1602
  "Enable a secondary LDAP server which will be used if the primary one fails"
1600
1603
  msgstr ""
1601
1604
 
1602
- #: core/app_settings.py:199
1605
+ #: core/app_settings.py:187
1603
1606
  #, fuzzy
1604
1607
  #| msgid "Server address"
1605
1608
  msgid "Secondary server address"
1606
1609
  msgstr "Endereço do Servidor"
1607
1610
 
1608
- #: core/app_settings.py:202
1611
+ #: core/app_settings.py:190
1609
1612
  #, fuzzy
1610
1613
  #| msgid "The IP address or the DNS name of the LDAP server"
1611
1614
  msgid "The IP address or the DNS name of the seondary LDAP server"
1612
1615
  msgstr "O endereço IP do servidor de DNS do servidor LDAP"
1613
1616
 
1614
- #: core/app_settings.py:209
1617
+ #: core/app_settings.py:197
1615
1618
  #, fuzzy
1616
1619
  #| msgid "Server port"
1617
1620
  msgid "Secondary server port"
1618
1621
  msgstr "Porta do Servidor"
1619
1622
 
1620
- #: core/app_settings.py:212
1623
+ #: core/app_settings.py:200
1621
1624
  #, fuzzy
1622
1625
  #| msgid "The TCP port number used by the LDAP server"
1623
1626
  msgid "The TCP port number used by the LDAP secondary server"
1624
1627
  msgstr " A porta TCP usada pelo servidor LDAP"
1625
1628
 
1626
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1629
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1627
1630
  #: webmail/app_settings.py:45
1628
1631
  msgid "Use a secured connection"
1629
1632
  msgstr "Utilizar uma ligação segura"
1630
1633
 
1631
- #: core/app_settings.py:221
1634
+ #: core/app_settings.py:209
1632
1635
  #, fuzzy
1633
1636
  #| msgid "Use an SSL/TLS connection to access the LDAP server"
1634
1637
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1635
1638
  msgstr "Usar SSL/TLS na ligaçao de acesso ao servidor LDAP"
1636
1639
 
1637
- #: core/app_settings.py:228
1640
+ #: core/app_settings.py:216
1638
1641
  msgid "Active Directory"
1639
1642
  msgstr "Active Directory"
1640
1643
 
1641
- #: core/app_settings.py:230
1644
+ #: core/app_settings.py:218
1642
1645
  msgid "Tell if the LDAP server is an Active Directory one"
1643
1646
  msgstr "Especificar se o servidor LDAP e um Active Directory"
1644
1647
 
1645
- #: core/app_settings.py:237
1648
+ #: core/app_settings.py:225
1646
1649
  msgid "Administrator groups"
1647
1650
  msgstr "Grupos de Administrador"
1648
1651
 
1649
- #: core/app_settings.py:239
1652
+ #: core/app_settings.py:227
1650
1653
  msgid ""
1651
1654
  "Members of those LDAP Posix groups will be created as domain administrators. "
1652
1655
  "Use ';' characters to separate groups."
@@ -1654,51 +1657,51 @@ msgstr ""
1654
1657
  "Os membros destes grupos \"LDAP Posix\" serão criados como administradores "
1655
1658
  "de domínio. Use ';' para separar os grupos."
1656
1659
 
1657
- #: core/app_settings.py:248
1660
+ #: core/app_settings.py:236
1658
1661
  #, fuzzy
1659
1662
  #| msgid "Group name"
1660
1663
  msgid "Group type"
1661
1664
  msgstr "Nome do grupo"
1662
1665
 
1663
- #: core/app_settings.py:250
1666
+ #: core/app_settings.py:238
1664
1667
  msgid "The LDAP group type to use with your directory."
1665
1668
  msgstr ""
1666
1669
 
1667
- #: core/app_settings.py:257
1670
+ #: core/app_settings.py:245
1668
1671
  msgid "Groups search base"
1669
1672
  msgstr "Base para pesquisa de Grupos"
1670
1673
 
1671
- #: core/app_settings.py:259
1674
+ #: core/app_settings.py:247
1672
1675
  msgid "The distinguished name of the search base used to find groups"
1673
1676
  msgstr "O nome único para a base de pesquisa, usado para encontrar grupos"
1674
1677
 
1675
- #: core/app_settings.py:267
1678
+ #: core/app_settings.py:255
1676
1679
  msgid "Password attribute"
1677
1680
  msgstr "Atributo de palavra-passe"
1678
1681
 
1679
- #: core/app_settings.py:269
1682
+ #: core/app_settings.py:257
1680
1683
  msgid "The attribute used to store user passwords"
1681
1684
  msgstr "O atributo utilizado para armazenar palavras-passe"
1682
1685
 
1683
- #: core/app_settings.py:276
1686
+ #: core/app_settings.py:264
1684
1687
  #, fuzzy
1685
1688
  #| msgid "Authentication method"
1686
1689
  msgid "LDAP authentication settings"
1687
1690
  msgstr "Método de autenticação"
1688
1691
 
1689
- #: core/app_settings.py:284
1692
+ #: core/app_settings.py:272
1690
1693
  msgid "Authentication method"
1691
1694
  msgstr "Método de autenticação"
1692
1695
 
1693
- #: core/app_settings.py:287
1696
+ #: core/app_settings.py:275
1694
1697
  msgid "Choose the authentication method to use"
1695
1698
  msgstr "Escolher o método de autenticação"
1696
1699
 
1697
- #: core/app_settings.py:294 core/app_settings.py:357
1700
+ #: core/app_settings.py:282 core/app_settings.py:345
1698
1701
  msgid "Bind DN"
1699
1702
  msgstr "\"Bind DN\""
1700
1703
 
1701
- #: core/app_settings.py:296 core/app_settings.py:359
1704
+ #: core/app_settings.py:284 core/app_settings.py:347
1702
1705
  msgid ""
1703
1706
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1704
1707
  "for an anonymous bind"
@@ -1706,28 +1709,28 @@ msgstr ""
1706
1709
  "O nome único usado para fazer o \"bind\" ao servidor LDAP. Deixar vario "
1707
1710
  "para \"bind\" anónimo"
1708
1711
 
1709
- #: core/app_settings.py:305 core/app_settings.py:367
1712
+ #: core/app_settings.py:293 core/app_settings.py:355
1710
1713
  msgid "Bind password"
1711
1714
  msgstr "Password para bind"
1712
1715
 
1713
- #: core/app_settings.py:307 core/app_settings.py:369
1716
+ #: core/app_settings.py:295 core/app_settings.py:357
1714
1717
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1715
1718
  msgstr ""
1716
1719
  "A password usada para fazer o \"bind\" ao servidor LDAP (com 'Bind DN')"
1717
1720
 
1718
- #: core/app_settings.py:317 core/app_settings.py:422
1721
+ #: core/app_settings.py:305 core/app_settings.py:410
1719
1722
  msgid "Users search base"
1720
1723
  msgstr "Base para pesquisa de utilizadores"
1721
1724
 
1722
- #: core/app_settings.py:319 core/app_settings.py:424
1725
+ #: core/app_settings.py:307 core/app_settings.py:412
1723
1726
  msgid "The distinguished name of the search base used to find users"
1724
1727
  msgstr "O nome único a usar para pesquisa de utilizadores"
1725
1728
 
1726
- #: core/app_settings.py:328 core/app_settings.py:433
1729
+ #: core/app_settings.py:316 core/app_settings.py:421
1727
1730
  msgid "Search filter"
1728
1731
  msgstr "Filtro de pesquisa"
1729
1732
 
1730
- #: core/app_settings.py:330 core/app_settings.py:435
1733
+ #: core/app_settings.py:318 core/app_settings.py:423
1731
1734
  msgid ""
1732
1735
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1733
1736
  "valid, it must be enclosed in parentheses."
@@ -1735,11 +1738,11 @@ msgstr ""
1735
1738
  "Um filtro opcional (ex: '(objetClass=person)'). Tem de estar entre "
1736
1739
  "parênteses para ser válido"
1737
1740
 
1738
- #: core/app_settings.py:339
1741
+ #: core/app_settings.py:327
1739
1742
  msgid "User DN template"
1740
1743
  msgstr "Template DN de utilizador"
1741
1744
 
1742
- #: core/app_settings.py:341
1745
+ #: core/app_settings.py:329
1743
1746
  #, python-format
1744
1747
  msgid ""
1745
1748
  "The template used to construct a user's DN. It should contain one "
@@ -1748,38 +1751,38 @@ msgstr ""
1748
1751
  "O template usado para construir o DN (nome único). Deve apenas conter um "
1749
1752
  "'placeholder' (ex: %(user)s) "
1750
1753
 
1751
- #: core/app_settings.py:350
1754
+ #: core/app_settings.py:338
1752
1755
  #, fuzzy
1753
1756
  #| msgid "LDAP settings"
1754
1757
  msgid "LDAP synchronization settings"
1755
1758
  msgstr "Definições do serviço de directório"
1756
1759
 
1757
- #: core/app_settings.py:378
1760
+ #: core/app_settings.py:366
1758
1761
  msgid "Enable export to LDAP"
1759
1762
  msgstr ""
1760
1763
 
1761
- #: core/app_settings.py:380
1764
+ #: core/app_settings.py:368
1762
1765
  msgid ""
1763
1766
  "Enable automatic synchronization between local database and LDAP directory"
1764
1767
  msgstr ""
1765
1768
 
1766
- #: core/app_settings.py:389
1769
+ #: core/app_settings.py:377
1767
1770
  msgid "Delete remote LDAP account when local account is deleted"
1768
1771
  msgstr ""
1769
1772
 
1770
- #: core/app_settings.py:392
1773
+ #: core/app_settings.py:380
1771
1774
  msgid ""
1772
1775
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1773
1776
  "be disabled."
1774
1777
  msgstr ""
1775
1778
 
1776
- #: core/app_settings.py:401
1779
+ #: core/app_settings.py:389
1777
1780
  #, fuzzy
1778
1781
  #| msgid "User DN template"
1779
1782
  msgid "Account DN template"
1780
1783
  msgstr "Template DN de utilizador"
1781
1784
 
1782
- #: core/app_settings.py:403
1785
+ #: core/app_settings.py:391
1783
1786
  #, fuzzy, python-format
1784
1787
  #| msgid ""
1785
1788
  #| "The template used to construct a user's DN. It should contain one "
@@ -1791,245 +1794,235 @@ msgstr ""
1791
1794
  "O template usado para construir o DN (nome único). Deve apenas conter um "
1792
1795
  "'placeholder' (ex: %(user)s) "
1793
1796
 
1794
- #: core/app_settings.py:412
1797
+ #: core/app_settings.py:400
1795
1798
  msgid "Enable import from LDAP"
1796
1799
  msgstr ""
1797
1800
 
1798
- #: core/app_settings.py:414
1801
+ #: core/app_settings.py:402
1799
1802
  msgid "Enable account synchronization from LDAP directory to local database"
1800
1803
  msgstr ""
1801
1804
 
1802
- #: core/app_settings.py:444
1805
+ #: core/app_settings.py:432
1803
1806
  #, fuzzy
1804
1807
  #| msgid "Password attribute"
1805
1808
  msgid "Username attribute"
1806
1809
  msgstr "Atributo de palavra-passe"
1807
1810
 
1808
- #: core/app_settings.py:446
1811
+ #: core/app_settings.py:434
1809
1812
  msgid "The name of the LDAP attribute where the username can be found."
1810
1813
  msgstr ""
1811
1814
 
1812
- #: core/app_settings.py:455
1815
+ #: core/app_settings.py:443
1813
1816
  msgid "Enable Dovecot LDAP sync"
1814
1817
  msgstr ""
1815
1818
 
1816
- #: core/app_settings.py:457
1819
+ #: core/app_settings.py:445
1817
1820
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1818
1821
  msgstr ""
1819
1822
 
1820
- #: core/app_settings.py:465
1823
+ #: core/app_settings.py:453
1821
1824
  msgid "Dovecot LDAP config file"
1822
1825
  msgstr ""
1823
1826
 
1824
- #: core/app_settings.py:467
1827
+ #: core/app_settings.py:455
1825
1828
  msgid ""
1826
1829
  "Location of the configuration file which contains Dovecot LDAP settings."
1827
1830
  msgstr ""
1828
1831
 
1829
- #: core/app_settings.py:480
1832
+ #: core/app_settings.py:468
1830
1833
  msgid "Dashboard"
1831
1834
  msgstr ""
1832
1835
 
1833
- #: core/app_settings.py:486
1836
+ #: core/app_settings.py:474
1834
1837
  #, fuzzy
1835
1838
  #| msgid "sent messages"
1836
1839
  msgid "Custom welcome message"
1837
1840
  msgstr "A criar mensagem"
1838
1841
 
1839
- #: core/app_settings.py:488
1842
+ #: core/app_settings.py:476
1840
1843
  msgid "A welcome message that will be displayed instead the default one"
1841
1844
  msgstr ""
1842
1845
 
1843
- #: core/app_settings.py:495
1846
+ #: core/app_settings.py:483
1844
1847
  msgid "Custom RSS feed"
1845
1848
  msgstr ""
1846
1849
 
1847
- #: core/app_settings.py:497
1850
+ #: core/app_settings.py:485
1848
1851
  msgid "Display custom RSS feed to resellers and domain administrators"
1849
1852
  msgstr ""
1850
1853
 
1851
- #: core/app_settings.py:506
1854
+ #: core/app_settings.py:494
1852
1855
  msgid "Display custom RSS feed to super admins"
1853
1856
  msgstr ""
1854
1857
 
1855
- #: core/app_settings.py:509
1858
+ #: core/app_settings.py:497
1856
1859
  msgid "Display custom RSS feed also to super administrators"
1857
1860
  msgstr ""
1858
1861
 
1859
- #: core/app_settings.py:517
1862
+ #: core/app_settings.py:505
1860
1863
  msgid "Hide features widget"
1861
1864
  msgstr ""
1862
1865
 
1863
- #: core/app_settings.py:519
1866
+ #: core/app_settings.py:507
1864
1867
  msgid "Hide features widget for resellers and domain administrators"
1865
1868
  msgstr ""
1866
1869
 
1867
- #: core/app_settings.py:531
1870
+ #: core/app_settings.py:519
1868
1871
  msgid "Theme"
1869
1872
  msgstr ""
1870
1873
 
1871
- #: core/app_settings.py:537
1874
+ #: core/app_settings.py:525
1872
1875
  msgid "Primary theme color"
1873
1876
  msgstr ""
1874
1877
 
1875
- #: core/app_settings.py:539
1878
+ #: core/app_settings.py:527
1876
1879
  msgid ""
1877
1880
  "Primary color of the theme (hexadecimal code), used as the background color "
1878
1881
  "of the left menu for example"
1879
1882
  msgstr ""
1880
1883
 
1881
- #: core/app_settings.py:548
1884
+ #: core/app_settings.py:536
1882
1885
  msgid "Primary theme color (lighter version)"
1883
1886
  msgstr ""
1884
1887
 
1885
- #: core/app_settings.py:551 core/app_settings.py:563
1888
+ #: core/app_settings.py:539 core/app_settings.py:551
1886
1889
  msgid "Primary color of the theme (hexadecimal code)"
1887
1890
  msgstr ""
1888
1891
 
1889
- #: core/app_settings.py:560
1892
+ #: core/app_settings.py:548
1890
1893
  msgid "Primary theme color (darker version)"
1891
1894
  msgstr ""
1892
1895
 
1893
- #: core/app_settings.py:571
1896
+ #: core/app_settings.py:559
1894
1897
  #, fuzzy
1895
1898
  #| msgid "Server port"
1896
1899
  msgid "Secondary theme color"
1897
1900
  msgstr "Porta do Servidor"
1898
1901
 
1899
- #: core/app_settings.py:573
1902
+ #: core/app_settings.py:561
1900
1903
  msgid ""
1901
1904
  "Secondary color of the theme (hexadecimal code), used as the background "
1902
1905
  "color of some buttons for example"
1903
1906
  msgstr ""
1904
1907
 
1905
- #: core/app_settings.py:581
1908
+ #: core/app_settings.py:569
1906
1909
  msgid "Labels theme color"
1907
1910
  msgstr ""
1908
1911
 
1909
- #: core/app_settings.py:583
1912
+ #: core/app_settings.py:571
1910
1913
  msgid "Theme color for labels (hexadecimal code)"
1911
1914
  msgstr ""
1912
1915
 
1913
- #: core/app_settings.py:595
1916
+ #: core/app_settings.py:583
1914
1917
  #, fuzzy
1915
1918
  #| msgid "Authentication"
1916
1919
  msgid "Notifications"
1917
1920
  msgstr "Autenticação"
1918
1921
 
1919
- #: core/app_settings.py:601
1922
+ #: core/app_settings.py:589
1920
1923
  #, fuzzy
1921
1924
  #| msgid "Server address"
1922
1925
  msgid "Sender address"
1923
1926
  msgstr "Endereço do Servidor"
1924
1927
 
1925
- #: core/app_settings.py:603
1928
+ #: core/app_settings.py:591
1926
1929
  msgid "Email address used to send notifications."
1927
1930
  msgstr ""
1928
1931
 
1929
- #: core/app_settings.py:614
1932
+ #: core/app_settings.py:602
1930
1933
  msgid "Public API"
1931
1934
  msgstr ""
1932
1935
 
1933
- #: core/app_settings.py:620
1936
+ #: core/app_settings.py:608
1934
1937
  msgid "Enable communication"
1935
1938
  msgstr ""
1936
1939
 
1937
- #: core/app_settings.py:622 core/app_settings.py:632
1940
+ #: core/app_settings.py:610 core/app_settings.py:620
1938
1941
  msgid "Automatically checks if a newer version is available"
1939
1942
  msgstr "Verifica automaticamente se existem novas versões"
1940
1943
 
1941
- #: core/app_settings.py:629
1944
+ #: core/app_settings.py:617
1942
1945
  msgid "Check new versions"
1943
1946
  msgstr "Procurar novas versões"
1944
1947
 
1945
- #: core/app_settings.py:640
1948
+ #: core/app_settings.py:628
1946
1949
  msgid "Send an email when new versions are found"
1947
1950
  msgstr ""
1948
1951
 
1949
- #: core/app_settings.py:644
1952
+ #: core/app_settings.py:632
1950
1953
  msgid "Send an email to notify admins about new versions"
1951
1954
  msgstr ""
1952
1955
 
1953
- #: core/app_settings.py:651 sievefilters/constants.py:25
1956
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1954
1957
  msgid "Recipient"
1955
1958
  msgstr "Destinatário"
1956
1959
 
1957
- #: core/app_settings.py:654
1960
+ #: core/app_settings.py:642
1958
1961
  msgid "Recipient of new versions notification emails."
1959
1962
  msgstr ""
1960
1963
 
1961
- #: core/app_settings.py:661
1964
+ #: core/app_settings.py:649
1962
1965
  msgid "Send statistics"
1963
1966
  msgstr ""
1964
1967
 
1965
- #: core/app_settings.py:664
1968
+ #: core/app_settings.py:652
1966
1969
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1967
1970
  msgstr ""
1968
1971
 
1969
- #: core/app_settings.py:683
1972
+ #: core/app_settings.py:671
1970
1973
  msgid "Enable inactive account tracking"
1971
1974
  msgstr ""
1972
1975
 
1973
- #: core/app_settings.py:686
1976
+ #: core/app_settings.py:674
1974
1977
  msgid ""
1975
1978
  "Allow the administrator to set a threshold (in days) beyond which an account "
1976
1979
  "is considered inactive if the user hasn't logged in"
1977
1980
  msgstr ""
1978
1981
 
1979
- #: core/app_settings.py:695
1982
+ #: core/app_settings.py:683
1980
1983
  msgid "Inactive account threshold"
1981
1984
  msgstr ""
1982
1985
 
1983
- #: core/app_settings.py:698
1986
+ #: core/app_settings.py:686
1984
1987
  msgid ""
1985
1988
  "An account with a last login date greater than this threshold (in days) will "
1986
1989
  "be considered as inactive"
1987
1990
  msgstr ""
1988
1991
 
1989
- #: core/app_settings.py:707
1992
+ #: core/app_settings.py:695
1990
1993
  msgid "Top notifications check interval"
1991
1994
  msgstr "Intervalo de tempo para verificar notificações (no topo)"
1992
1995
 
1993
- #: core/app_settings.py:710
1996
+ #: core/app_settings.py:698
1994
1997
  #, fuzzy
1995
1998
  #| msgid "Interval between two top notification checks"
1996
1999
  msgid "Interval between two top notification checks (in seconds)"
1997
2000
  msgstr "Intervalo de tempo de verificação entre duas notificações (no topo)"
1998
2001
 
1999
- #: core/app_settings.py:717
2002
+ #: core/app_settings.py:705
2000
2003
  msgid "Maximum log record age"
2001
2004
  msgstr "Idade máxima do registo no log"
2002
2005
 
2003
- #: core/app_settings.py:719
2006
+ #: core/app_settings.py:707
2004
2007
  msgid "The maximum age in days of a log record"
2005
2008
  msgstr "A idade maxima do registo de um log, em dias, e de"
2006
2009
 
2007
- #: core/app_settings.py:727
2010
+ #: core/app_settings.py:715
2008
2011
  msgid "Retention time in message history"
2009
2012
  msgstr ""
2010
2013
 
2011
- #: core/app_settings.py:730
2014
+ #: core/app_settings.py:718
2012
2015
  msgid "Retention time (in days) of a message in the message history section"
2013
2016
  msgstr ""
2014
2017
 
2015
- #: core/app_settings.py:737
2018
+ #: core/app_settings.py:725
2016
2019
  msgid "Items per page"
2017
2020
  msgstr "Itens por página"
2018
2021
 
2019
- #: core/app_settings.py:739
2022
+ #: core/app_settings.py:727
2020
2023
  msgid "Number of displayed items per page"
2021
2024
  msgstr "Número de itens apresentados por página"
2022
2025
 
2023
- #: core/app_settings.py:746
2024
- msgid "Default top redirection"
2025
- msgstr "Redirecionamento pré-definido"
2026
-
2027
- #: core/app_settings.py:748
2028
- msgid "The default redirection used when no application is specified"
2029
- msgstr ""
2030
- "O redirecionamento padrão usado quando nenhuma aplicação se encontra "
2031
- "especificada"
2032
-
2033
2026
  #: core/checks.py:15
2034
2027
  msgid ""
2035
2028
  "You have USE_TZ set to False, this may result in issues during transitions "
@@ -2389,7 +2382,7 @@ msgid "Not resolved"
2389
2382
  msgstr "Sem destinatário definido"
2390
2383
 
2391
2384
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
2392
- #: webmail/constants.py:18
2385
+ #: webmail/constants.py:38
2393
2386
  msgid "None"
2394
2387
  msgstr "Nenhum"
2395
2388
 
@@ -3359,7 +3352,7 @@ msgstr "é"
3359
3352
  msgid "is not"
3360
3353
  msgstr "não é"
3361
3354
 
3362
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3355
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
3363
3356
  msgid "Subject"
3364
3357
  msgstr "Assunto"
3365
3358
 
@@ -3613,23 +3606,23 @@ msgstr "Tamanho máximo do anexo em bytes (ou KB, MB, GB se especificado)"
3613
3606
  msgid "SMTP settings"
3614
3607
  msgstr "Definições SMTP"
3615
3608
 
3616
- #: webmail/app_settings.py:75
3609
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3617
3610
  #, fuzzy
3618
3611
  #| msgid "Address of your IMAP server"
3619
3612
  msgid "Address of your SMTP server"
3620
3613
  msgstr "Endereço do servidor IMAP"
3621
3614
 
3622
- #: webmail/app_settings.py:82
3615
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3623
3616
  msgid "Secured connection mode"
3624
3617
  msgstr "Modo de ligação segura"
3625
3618
 
3626
- #: webmail/app_settings.py:84
3619
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3627
3620
  #, fuzzy
3628
3621
  #| msgid "Use an SSL/TLS connection to access the LDAP server"
3629
3622
  msgid "Use a secured connection to access SMTP server"
3630
3623
  msgstr "Usar uma ligação segura para aceder ao servidor SMTP"
3631
3624
 
3632
- #: webmail/app_settings.py:93
3625
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3633
3626
  #, fuzzy
3634
3627
  #| msgid "Listening port of your IMAP server"
3635
3628
  msgid "Listening port of your SMTP server"
@@ -3646,103 +3639,109 @@ msgstr "Autenticação necessária"
3646
3639
  msgid "Server needs authentication"
3647
3640
  msgstr "O servidor requer autenticação"
3648
3641
 
3649
- #: webmail/app_settings.py:124
3642
+ #: webmail/app_settings.py:113
3643
+ #, fuzzy
3644
+ #| msgid "LDAP settings"
3645
+ msgid "Scheduling settings"
3646
+ msgstr "Definições do MANAGESIEVE"
3647
+
3648
+ #: webmail/app_settings.py:161
3650
3649
  msgid "Default message display mode"
3651
3650
  msgstr "Modo de visualização predefinido"
3652
3651
 
3653
- #: webmail/app_settings.py:126
3652
+ #: webmail/app_settings.py:163
3654
3653
  #, fuzzy
3655
3654
  #| msgid "The default redirection used when no application is specified"
3656
3655
  msgid "The default mode used when displaying a message"
3657
3656
  msgstr "O modo de visualização de mensagem que será usado por defeito"
3658
3657
 
3659
- #: webmail/app_settings.py:133
3658
+ #: webmail/app_settings.py:170
3660
3659
  msgid "Enable HTML links display"
3661
3660
  msgstr "Ativar visualização de links HTML"
3662
3661
 
3663
- #: webmail/app_settings.py:136
3662
+ #: webmail/app_settings.py:173
3664
3663
  msgid "Enable/Disable HTML links display"
3665
3664
  msgstr "Ativar/desativar"
3666
3665
 
3667
- #: webmail/app_settings.py:147
3666
+ #: webmail/app_settings.py:184
3668
3667
  msgid "Sets the maximum number of messages displayed in a page"
3669
3668
  msgstr "Define o número máximo de mensagens a mostrar por página"
3670
3669
 
3671
- #: webmail/app_settings.py:154
3670
+ #: webmail/app_settings.py:191
3672
3671
  msgid "Listing refresh rate"
3673
3672
  msgstr "Taxa de actualização da listagem"
3674
3673
 
3675
- #: webmail/app_settings.py:156
3674
+ #: webmail/app_settings.py:193
3676
3675
  msgid "Automatic listing refresh rate (in secconds)"
3677
3676
  msgstr ""
3678
3677
 
3679
- #: webmail/app_settings.py:163
3678
+ #: webmail/app_settings.py:200
3680
3679
  msgid "Folder container's width"
3681
3680
  msgstr "Largura do caixilho das caixas de correio"
3682
3681
 
3683
- #: webmail/app_settings.py:165
3682
+ #: webmail/app_settings.py:202
3684
3683
  msgid "The width of the folder list container"
3685
3684
  msgstr "Largura do caixilho da lista de caixa de correio"
3686
3685
 
3687
- #: webmail/app_settings.py:176
3686
+ #: webmail/app_settings.py:213
3688
3687
  msgid "Folders"
3689
3688
  msgstr ""
3690
3689
 
3691
- #: webmail/app_settings.py:182
3690
+ #: webmail/app_settings.py:219
3692
3691
  msgid "Trash folder"
3693
3692
  msgstr "Pasta para Itens Eliminados"
3694
3693
 
3695
- #: webmail/app_settings.py:184
3694
+ #: webmail/app_settings.py:221
3696
3695
  msgid "Folder where deleted messages go"
3697
3696
  msgstr "Pasta para a qual os itens eliminados são enviados"
3698
3697
 
3699
- #: webmail/app_settings.py:191
3698
+ #: webmail/app_settings.py:228
3700
3699
  msgid "Sent folder"
3701
3700
  msgstr "Pasta para Itens Enviados"
3702
3701
 
3703
- #: webmail/app_settings.py:193
3702
+ #: webmail/app_settings.py:230
3704
3703
  msgid "Folder where copies of sent messages go"
3705
3704
  msgstr "Pasta onde as copias das mensagens enviadas são guardadas"
3706
3705
 
3707
- #: webmail/app_settings.py:200
3706
+ #: webmail/app_settings.py:237
3708
3707
  msgid "Drafts folder"
3709
3708
  msgstr "Pasta para Rascunhos"
3710
3709
 
3711
- #: webmail/app_settings.py:201
3710
+ #: webmail/app_settings.py:238
3712
3711
  msgid "Folder where drafts go"
3713
3712
  msgstr "Pasta onde ficam guardados os rascunhos"
3714
3713
 
3715
- #: webmail/app_settings.py:207
3714
+ #: webmail/app_settings.py:244
3716
3715
  msgid "Junk folder"
3717
3716
  msgstr "Pasta para Itens Enviados"
3718
3717
 
3719
- #: webmail/app_settings.py:209
3718
+ #: webmail/app_settings.py:246
3720
3719
  msgid "Folder where junk messages should go"
3721
3720
  msgstr "Pasta para a qual os itens eliminados são enviados"
3722
3721
 
3723
- #: webmail/app_settings.py:220
3722
+ #: webmail/app_settings.py:257
3724
3723
  #, fuzzy
3725
3724
  #| msgid "sent messages"
3726
3725
  msgid "Composing messages"
3727
3726
  msgstr "A criar mensagem"
3728
3727
 
3729
- #: webmail/app_settings.py:226
3728
+ #: webmail/app_settings.py:263
3730
3729
  #, fuzzy
3731
3730
  #| msgid "Default top redirection"
3732
3731
  msgid "Default editor"
3733
3732
  msgstr "Editor predefinido"
3734
3733
 
3735
- #: webmail/app_settings.py:228
3734
+ #: webmail/app_settings.py:265
3736
3735
  #, fuzzy
3737
3736
  #| msgid "The default redirection used when no application is specified"
3738
3737
  msgid "The default editor to use when composing a message"
3739
3738
  msgstr "O editor a ser usado por defeito na composição de mensagens"
3740
3739
 
3741
- #: webmail/app_settings.py:235
3740
+ #: webmail/app_settings.py:272
3742
3741
  msgid "Signature text"
3743
3742
  msgstr "Assinatura"
3744
3743
 
3745
- #: webmail/app_settings.py:237
3744
+ #: webmail/app_settings.py:274
3746
3745
  msgid "User defined email signature"
3747
3746
  msgstr "Assinatura de email definida pelo utilizador"
3748
3747
 
@@ -3758,45 +3757,74 @@ msgstr "Endereço do Servidor"
3758
3757
  msgid "Failed to remove attachment: "
3759
3758
  msgstr "Falha ao remover os anexos:"
3760
3759
 
3761
- #: webmail/lib/imapemail.py:272
3760
+ #: webmail/lib/imapemail.py:270
3762
3761
  msgid "wrote:"
3763
3762
  msgstr ""
3764
3763
 
3765
- #: webmail/lib/imapemail.py:306
3764
+ #: webmail/lib/imapemail.py:304
3766
3765
  msgid "Date"
3767
3766
  msgstr "Data"
3768
3767
 
3769
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3768
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3770
3769
  #, fuzzy
3771
3770
  #| msgid "sent messages"
3772
3771
  msgid "Original message"
3773
3772
  msgstr "Todas as mensagens"
3774
3773
 
3775
- #: webmail/lib/imaputils.py:221
3774
+ #: webmail/lib/imaputils.py:222
3776
3775
  msgid "Failed to retrieve hierarchy delimiter"
3777
3776
  msgstr "Falha ao recuperar hierarquia delimitador"
3778
3777
 
3779
- #: webmail/lib/imaputils.py:472
3778
+ #: webmail/lib/imaputils.py:478
3780
3779
  msgid "Inbox"
3781
3780
  msgstr ""
3782
3781
 
3783
- #: webmail/lib/imaputils.py:476
3782
+ #: webmail/lib/imaputils.py:482
3784
3783
  msgid "Drafts"
3785
3784
  msgstr "Pasta para Rascunhos"
3786
3785
 
3787
- #: webmail/lib/imaputils.py:481
3786
+ #: webmail/lib/imaputils.py:487
3788
3787
  msgid "Junk"
3789
3788
  msgstr ""
3790
3789
 
3791
- #: webmail/lib/imaputils.py:486
3790
+ #: webmail/lib/imaputils.py:492
3792
3791
  msgid "Sent"
3793
3792
  msgstr ""
3794
3793
 
3795
- #: webmail/lib/imaputils.py:491
3794
+ #: webmail/lib/imaputils.py:500
3795
+ msgid "Scheduled"
3796
+ msgstr ""
3797
+
3798
+ #: webmail/lib/imaputils.py:507
3796
3799
  msgid "Trash"
3797
3800
  msgstr ""
3798
3801
 
3799
- #: webmail/viewsets.py:357
3802
+ #: webmail/serializers.py:220
3803
+ msgid "Moving scheduled messages is forbidden"
3804
+ msgstr ""
3805
+
3806
+ #: webmail/serializers.py:253
3807
+ msgid "Only datetime in the future is allowed"
3808
+ msgstr ""
3809
+
3810
+ #: webmail/serializers.py:258
3811
+ msgid "Provived datetime must be one minute in the future at least"
3812
+ msgstr ""
3813
+
3814
+ #: webmail/viewsets.py:359
3800
3815
  #, python-format
3801
3816
  msgid "Attachment is too big (limit: %s)"
3802
3817
  msgstr "Anexo demasiado grande (limite %s)"
3818
+
3819
+ #, fuzzy
3820
+ #~| msgid "Profile"
3821
+ #~ msgid "User profile"
3822
+ #~ msgstr "Perfil"
3823
+
3824
+ #~ msgid "Default top redirection"
3825
+ #~ msgstr "Redirecionamento pré-definido"
3826
+
3827
+ #~ msgid "The default redirection used when no application is specified"
3828
+ #~ msgstr ""
3829
+ #~ "O redirecionamento padrão usado quando nenhuma aplicação se encontra "
3830
+ #~ "especificada"