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
@@ -12,7 +12,7 @@ msgid ""
12
12
  msgstr ""
13
13
  "Project-Id-Version: Modoboa\n"
14
14
  "Report-Msgid-Bugs-To: \n"
15
- "POT-Creation-Date: 2025-12-02 16:07+0100\n"
15
+ "POT-Creation-Date: 2026-02-04 09:30+0100\n"
16
16
  "PO-Revision-Date: 2018-11-22 19:31+0000\n"
17
17
  "Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
18
18
  "Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/"
@@ -46,14 +46,14 @@ msgid "Cannot be greater than domain quota"
46
46
  msgstr ""
47
47
 
48
48
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
49
- #: admin/api/v2/serializers.py:570 admin/models/alias.py:45
49
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
50
50
  msgid "Permission denied."
51
51
  msgstr ""
52
52
 
53
53
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
54
- #: admin/api/v2/serializers.py:491 amavis/serializers.py:39
55
- #: core/api/v2/serializers.py:255 core/api/v2/serializers.py:257
56
- #: core/api/v2/serializers.py:266 transport/backends.py:40
54
+ #: admin/api/v2/serializers.py:492 amavis/serializers.py:39
55
+ #: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
56
+ #: core/api/v2/serializers.py:259 transport/backends.py:40
57
57
  msgid "This field is required"
58
58
  msgstr "Bu alan gereklidir"
59
59
 
@@ -62,7 +62,7 @@ msgid ""
62
62
  "List of administered domains (resellers and domain administrators only)."
63
63
  msgstr ""
64
64
 
65
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:552
65
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
66
66
  msgid "Not allowed for this role."
67
67
  msgstr ""
68
68
 
@@ -70,13 +70,12 @@ msgstr ""
70
70
  msgid "Must be equal to mailbox full_address"
71
71
  msgstr ""
72
72
 
73
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:604
74
- #: calendars/serializers.py:175 calendars/serializers.py:177
75
- #: pdfcredentials/api/v2/serializers.py:91
73
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
74
+ #: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
76
75
  msgid "This field is required."
77
76
  msgstr ""
78
77
 
79
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:621
78
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
80
79
  msgid "Local domain {} does not exist"
81
80
  msgstr ""
82
81
 
@@ -117,39 +116,39 @@ msgstr ""
117
116
  msgid "User '%s' already exists"
118
117
  msgstr ""
119
118
 
120
- #: admin/api/v2/serializers.py:255 admin/api/v2/serializers.py:261
119
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
121
120
  msgid "Must be a positive integer"
122
121
  msgstr ""
123
122
 
124
- #: admin/api/v2/serializers.py:270
123
+ #: admin/api/v2/serializers.py:271
125
124
  msgid "openssl not found, please make sure it is installed."
126
125
  msgstr ""
127
126
 
128
- #: admin/api/v2/serializers.py:273 pdfcredentials/api/v2/serializers.py:84
127
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
129
128
  msgid "Directory not found."
130
129
  msgstr ""
131
130
 
132
- #: admin/api/v2/serializers.py:284
131
+ #: admin/api/v2/serializers.py:285
133
132
  msgid "This field only allows valid IP addresses (or networks)"
134
133
  msgstr ""
135
134
 
136
- #: admin/api/v2/serializers.py:297
135
+ #: admin/api/v2/serializers.py:298
137
136
  msgid "Please disable imap migration before disabling this option."
138
137
  msgstr ""
139
138
 
140
- #: admin/api/v2/serializers.py:310
139
+ #: admin/api/v2/serializers.py:311
141
140
  msgid "Define at least one authorized network / address"
142
141
  msgstr ""
143
142
 
144
- #: admin/api/v2/serializers.py:587
143
+ #: admin/api/v2/serializers.py:588
145
144
  msgid "The left part of an email address can't be more than 64 characters."
146
145
  msgstr ""
147
146
 
148
- #: admin/api/v2/serializers.py:609
147
+ #: admin/api/v2/serializers.py:610
149
148
  msgid "A mailbox is required to create aliases."
150
149
  msgstr ""
151
150
 
152
- #: admin/api/v2/serializers.py:782
151
+ #: admin/api/v2/serializers.py:783
153
152
  msgid "Unknown status"
154
153
  msgstr ""
155
154
 
@@ -241,141 +240,151 @@ msgstr ""
241
240
  msgid "Check every domain against major DNSBL providers"
242
241
  msgstr ""
243
242
 
244
- #: admin/app_settings.py:116
243
+ #: admin/app_settings.py:117
244
+ msgid "Notify domain admins about DNS issues"
245
+ msgstr ""
246
+
247
+ #: admin/app_settings.py:120
248
+ msgid ""
249
+ "Send a notification by email to domain administrators when DNS issues are "
250
+ "encountered"
251
+ msgstr ""
252
+
253
+ #: admin/app_settings.py:128
245
254
  msgid "Custom DNS server"
246
255
  msgstr ""
247
256
 
248
- #: admin/app_settings.py:118
257
+ #: admin/app_settings.py:130
249
258
  msgid "Use a custom DNS server instead of local server configuration"
250
259
  msgstr ""
251
260
 
252
- #: admin/app_settings.py:126
261
+ #: admin/app_settings.py:138
253
262
  msgid "DKIM keys storage directory"
254
263
  msgstr ""
255
264
 
256
- #: admin/app_settings.py:128
265
+ #: admin/app_settings.py:140
257
266
  msgid ""
258
267
  "Absolute path of the directory where DKIM private keys will be stored. Make "
259
268
  "sure this directory belongs to root user and is not readable by the outside "
260
269
  "world."
261
270
  msgstr ""
262
271
 
263
- #: admin/app_settings.py:137
272
+ #: admin/app_settings.py:149
264
273
  msgid "Default DKIM key length"
265
274
  msgstr ""
266
275
 
267
- #: admin/app_settings.py:139
276
+ #: admin/app_settings.py:151
268
277
  msgid "Default length in bits for newly generated DKIM keys."
269
278
  msgstr ""
270
279
 
271
- #: admin/app_settings.py:146
280
+ #: admin/app_settings.py:158
272
281
  msgid "Default domain quota"
273
282
  msgstr ""
274
283
 
275
- #: admin/app_settings.py:148
284
+ #: admin/app_settings.py:160
276
285
  msgid ""
277
286
  "Default quota (in MB) applied to freshly created domains with no value "
278
287
  "specified. A value of 0 means no quota."
279
288
  msgstr ""
280
289
 
281
- #: admin/app_settings.py:156
290
+ #: admin/app_settings.py:168
282
291
  msgid "Default domain sending limit"
283
292
  msgstr ""
284
293
 
285
- #: admin/app_settings.py:158
294
+ #: admin/app_settings.py:170
286
295
  msgid ""
287
296
  "Number of messages freshly created domains will be allowed to send per day. "
288
297
  "Leave empty for no limit."
289
298
  msgstr ""
290
299
 
291
- #: admin/app_settings.py:170 limits/app_settings.py:61
300
+ #: admin/app_settings.py:182 limits/app_settings.py:61
292
301
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
293
302
  msgid "Mailboxes"
294
303
  msgstr ""
295
304
 
296
- #: admin/app_settings.py:176
305
+ #: admin/app_settings.py:188
297
306
  msgid "Handle mailboxes on filesystem"
298
307
  msgstr ""
299
308
 
300
- #: admin/app_settings.py:178
309
+ #: admin/app_settings.py:190
301
310
  msgid ""
302
311
  "Rename or remove mailboxes on the filesystem when they get renamed or "
303
312
  "removed within Modoboa"
304
313
  msgstr ""
305
314
 
306
- #: admin/app_settings.py:186 admin/models/domain.py:36
315
+ #: admin/app_settings.py:198 admin/models/domain.py:36
307
316
  msgid "Default mailbox quota"
308
317
  msgstr ""
309
318
 
310
- #: admin/app_settings.py:188
319
+ #: admin/app_settings.py:200
311
320
  msgid ""
312
321
  "Default mailbox quota (in MB) applied to freshly created domains with no "
313
322
  "value specified. A value of 0 means no quota."
314
323
  msgstr ""
315
324
 
316
- #: admin/app_settings.py:197
325
+ #: admin/app_settings.py:209
317
326
  msgid "Default mailbox sending limit"
318
327
  msgstr ""
319
328
 
320
- #: admin/app_settings.py:199
329
+ #: admin/app_settings.py:211
321
330
  msgid ""
322
331
  "Number of messages freshly created mailboxes will be allowed to send per "
323
332
  "day. Leave empty for no limit."
324
333
  msgstr ""
325
334
 
326
- #: admin/app_settings.py:207
335
+ #: admin/app_settings.py:219
327
336
  msgid "Automatic account removal"
328
337
  msgstr ""
329
338
 
330
- #: admin/app_settings.py:209
339
+ #: admin/app_settings.py:221
331
340
  msgid "When a mailbox is removed, also remove the associated account"
332
341
  msgstr ""
333
342
 
334
- #: admin/app_settings.py:218
343
+ #: admin/app_settings.py:230
335
344
  msgid "Automatic domain/mailbox creation"
336
345
  msgstr ""
337
346
 
338
- #: admin/app_settings.py:221
347
+ #: admin/app_settings.py:233
339
348
  msgid "Create a domain and a mailbox when an account is automatically created."
340
349
  msgstr ""
341
350
 
342
- #: admin/app_settings.py:230
351
+ #: admin/app_settings.py:242
343
352
  msgid "Create an alias when a mailbox is renamed"
344
353
  msgstr ""
345
354
 
346
- #: admin/app_settings.py:233
355
+ #: admin/app_settings.py:245
347
356
  msgid "Create an alias using the old address when a mailbox is renamed."
348
357
  msgstr ""
349
358
 
350
- #: admin/app_settings.py:245
359
+ #: admin/app_settings.py:257
351
360
  msgid "Aliases"
352
361
  msgstr ""
353
362
 
354
- #: admin/app_settings.py:251
363
+ #: admin/app_settings.py:263
355
364
  msgid "Alias can target any domain"
356
365
  msgstr ""
357
366
 
358
- #: admin/app_settings.py:253
367
+ #: admin/app_settings.py:265
359
368
  msgid "Allow aliases to target any domain, not just the local domains."
360
369
  msgstr ""
361
370
 
362
- #: admin/app_settings.py:260
371
+ #: admin/app_settings.py:272
363
372
  msgid "Alias target block list"
364
373
  msgstr ""
365
374
 
366
- #: admin/app_settings.py:262
375
+ #: admin/app_settings.py:274
367
376
  msgid "A list of domains that aliases cannot target (comma separated)."
368
377
  msgstr ""
369
378
 
370
- #: admin/app_settings.py:270
379
+ #: admin/app_settings.py:282
371
380
  msgid "Alias target allow list"
372
381
  msgstr ""
373
382
 
374
- #: admin/app_settings.py:272
383
+ #: admin/app_settings.py:284
375
384
  msgid "A list of domains that aliases can target (comma separated)."
376
385
  msgstr ""
377
386
 
378
- #: admin/app_settings.py:326 core/api/v2/viewsets.py:174
387
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
379
388
  msgid "Administration"
380
389
  msgstr "Yönetim"
381
390
 
@@ -395,6 +404,35 @@ msgstr ""
395
404
  msgid "Closed"
396
405
  msgstr ""
397
406
 
407
+ #: admin/dns_checker.py:96
408
+ msgid "MX {} listed by DNSBL provider {}"
409
+ msgstr ""
410
+
411
+ #: admin/dns_checker.py:138
412
+ msgid "Domain has no MX record"
413
+ msgstr ""
414
+
415
+ #: admin/dns_checker.py:141
416
+ msgid "Domain {} has no MX record"
417
+ msgstr ""
418
+
419
+ #: admin/dns_checker.py:159
420
+ msgid "Invalid MX record: {}"
421
+ msgstr ""
422
+
423
+ #: admin/dns_checker.py:166
424
+ #, python-brace-format
425
+ msgid "MX record for domain {0} is invalid: {1}"
426
+ msgstr ""
427
+
428
+ #: admin/dns_checker.py:177
429
+ msgid "[modoboa] MX issue(s) for domain {}"
430
+ msgstr ""
431
+
432
+ #: admin/dns_checker.py:224
433
+ msgid "[modoboa] DNSBL issue(s) for domain {}"
434
+ msgstr ""
435
+
398
436
  #: admin/handlers.py:179
399
437
  msgid "domain alias"
400
438
  msgstr ""
@@ -417,8 +455,8 @@ msgstr ""
417
455
  msgid "You are not allowed to import domain aliases."
418
456
  msgstr ""
419
457
 
420
- #: admin/lib.py:227 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
421
- #: admin/tests/test_mx.py:171
458
+ #: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
459
+ #: admin/tests/test_mx.py:157
422
460
  #, python-format
423
461
  msgid "No DNS record found for %s"
424
462
  msgstr ""
@@ -428,11 +466,11 @@ msgstr ""
428
466
  msgid "No %(type)s record for %(name)s"
429
467
  msgstr ""
430
468
 
431
- #: admin/lib.py:234 admin/tests/test_mx.py:156
469
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
432
470
  msgid "No working name servers found"
433
471
  msgstr ""
434
472
 
435
- #: admin/lib.py:237 admin/tests/test_mx.py:160
473
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
436
474
  #, python-format
437
475
  msgid "DNS resolution timeout, unable to query %s at the moment"
438
476
  msgstr ""
@@ -484,35 +522,6 @@ msgstr ""
484
522
  msgid "Failed to generate DKIM public key"
485
523
  msgstr ""
486
524
 
487
- #: admin/management/commands/subcommands/_mx.py:133
488
- msgid "MX {} listed by DNSBL provider {}"
489
- msgstr ""
490
-
491
- #: admin/management/commands/subcommands/_mx.py:174
492
- msgid "Domain has no MX record"
493
- msgstr ""
494
-
495
- #: admin/management/commands/subcommands/_mx.py:177
496
- msgid "Domain {} has no MX record"
497
- msgstr ""
498
-
499
- #: admin/management/commands/subcommands/_mx.py:195
500
- msgid "Invalid MX record: {}"
501
- msgstr ""
502
-
503
- #: admin/management/commands/subcommands/_mx.py:202
504
- #, python-brace-format
505
- msgid "MX record for domain {0} is invalid: {1}"
506
- msgstr ""
507
-
508
- #: admin/management/commands/subcommands/_mx.py:213
509
- msgid "[modoboa] MX issue(s) for domain {}"
510
- msgstr ""
511
-
512
- #: admin/management/commands/subcommands/_mx.py:269
513
- msgid "[modoboa] DNSBL issue(s) for domain {}"
514
- msgstr ""
515
-
516
525
  #: admin/models/alias.py:43
517
526
  msgid "Domain not found."
518
527
  msgstr ""
@@ -689,17 +698,17 @@ msgstr ""
689
698
  msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
690
699
  msgstr ""
691
700
 
692
- #: admin/tests/test_mx.py:155
701
+ #: admin/tests/test_mx.py:141
693
702
  #, python-format
694
703
  msgid "No MX record for %s"
695
704
  msgstr ""
696
705
 
697
- #: admin/tests/test_mx.py:176 admin/tests/test_mx.py:182
706
+ #: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
698
707
  #, python-format
699
708
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
700
709
  msgstr ""
701
710
 
702
- #: admin/tests/test_mx.py:199
711
+ #: admin/tests/test_mx.py:185
703
712
  #, python-format
704
713
  msgid "No AAAA record for %s"
705
714
  msgstr ""
@@ -894,11 +903,11 @@ msgid ""
894
903
  "database)"
895
904
  msgstr ""
896
905
 
897
- #: amavis/app_settings.py:236 webmail/app_settings.py:118
906
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
898
907
  msgid "Display"
899
908
  msgstr ""
900
909
 
901
- #: amavis/app_settings.py:243 webmail/app_settings.py:144
910
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
902
911
  msgid "Number of displayed emails per page"
903
912
  msgstr ""
904
913
 
@@ -1161,7 +1170,7 @@ msgstr "Yönetim"
1161
1170
  msgid "Allow domain administrators to manage user calendars (read and write)"
1162
1171
  msgstr ""
1163
1172
 
1164
- #: calendars/app_settings.py:60 core/app_settings.py:676
1173
+ #: calendars/app_settings.py:60 core/app_settings.py:664
1165
1174
  #: rspamd/app_settings.py:45
1166
1175
  msgid "Miscellaneous"
1167
1176
  msgstr "Çeşitli"
@@ -1179,11 +1188,11 @@ msgstr ""
1179
1188
  msgid "Calendars"
1180
1189
  msgstr ""
1181
1190
 
1182
- #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:38
1191
+ #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
1183
1192
  msgid "Server location is not set, please fix it."
1184
1193
  msgstr ""
1185
1194
 
1186
- #: calendars/viewsets.py:197
1195
+ #: calendars/viewsets.py:199
1187
1196
  msgid "Uploaded file is too big (max: {} bytes)"
1188
1197
  msgstr ""
1189
1198
 
@@ -1268,7 +1277,7 @@ msgstr ""
1268
1277
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
1269
1278
  msgstr ""
1270
1279
 
1271
- #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:445
1280
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
1272
1281
  #, fuzzy
1273
1282
  #| msgid "Old password"
1274
1283
  msgid "Invalid password"
@@ -1282,24 +1291,20 @@ msgstr ""
1282
1291
  msgid "Local"
1283
1292
  msgstr "Yerel"
1284
1293
 
1285
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
1286
- msgid "User profile"
1287
- msgstr "Kullanıcı profili"
1288
-
1289
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
1290
- #: core/api/v2/serializers.py:228
1294
+ #: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
1295
+ #: core/api/v2/serializers.py:221
1291
1296
  msgid "Invalid syntax"
1292
1297
  msgstr ""
1293
1298
 
1294
- #: core/api/v2/serializers.py:233
1299
+ #: core/api/v2/serializers.py:226
1295
1300
  msgid "Invalid rounds number"
1296
1301
  msgstr ""
1297
1302
 
1298
- #: core/api/v2/serializers.py:433 core/forms.py:81
1303
+ #: core/api/v2/serializers.py:426 core/forms.py:81
1299
1304
  msgid "This code is invalid"
1300
1305
  msgstr ""
1301
1306
 
1302
- #: core/api/v2/serializers.py:503 core/views/auth.py:213 core/views/auth.py:266
1307
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
1303
1308
  msgid "Please use the following code to recover your Modoboa password: {}"
1304
1309
  msgstr ""
1305
1310
 
@@ -1326,547 +1331,539 @@ msgid "Calendar"
1326
1331
  msgstr ""
1327
1332
 
1328
1333
  #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1329
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1334
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1330
1335
  #, fuzzy
1331
1336
  #| msgid "E-mail"
1332
1337
  msgid "Webmail"
1333
1338
  msgstr "E-posta"
1334
1339
 
1335
- #: core/app_settings.py:37
1340
+ #: core/app_settings.py:25
1336
1341
  msgid "Authentication"
1337
1342
  msgstr "Yetkilendirme"
1338
1343
 
1339
- #: core/app_settings.py:43
1344
+ #: core/app_settings.py:31
1340
1345
  msgid "Authentication type"
1341
1346
  msgstr "Yetkilendirme türü"
1342
1347
 
1343
- #: core/app_settings.py:45
1348
+ #: core/app_settings.py:33
1344
1349
  msgid "The backend used for authentication"
1345
1350
  msgstr ""
1346
1351
 
1347
- #: core/app_settings.py:52
1352
+ #: core/app_settings.py:40
1348
1353
  msgid "Default password scheme"
1349
1354
  msgstr "Varsayılan parola şeması"
1350
1355
 
1351
- #: core/app_settings.py:54
1356
+ #: core/app_settings.py:42
1352
1357
  msgid "Scheme used to crypt mailbox passwords"
1353
1358
  msgstr "Mailbox parolalarını şifrelemek için kullanılacak şema"
1354
1359
 
1355
- #: core/app_settings.py:61
1360
+ #: core/app_settings.py:49
1356
1361
  msgid "Rounds"
1357
1362
  msgstr ""
1358
1363
 
1359
- #: core/app_settings.py:63
1364
+ #: core/app_settings.py:51
1360
1365
  msgid ""
1361
1366
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1362
1367
  "between 1000 and 999999999, inclusive."
1363
1368
  msgstr ""
1364
1369
 
1365
- #: core/app_settings.py:73
1370
+ #: core/app_settings.py:61
1366
1371
  #, fuzzy
1367
1372
  #| msgid "Update password scheme"
1368
1373
  msgid "Update password scheme at login"
1369
1374
  msgstr "Şifre şemasını güncelle"
1370
1375
 
1371
- #: core/app_settings.py:76
1376
+ #: core/app_settings.py:64
1372
1377
  msgid "Update user password at login to use the default password scheme"
1373
1378
  msgstr ""
1374
1379
 
1375
- #: core/app_settings.py:84
1380
+ #: core/app_settings.py:72
1376
1381
  msgid "Default password"
1377
1382
  msgstr "Varsayılan parola"
1378
1383
 
1379
- #: core/app_settings.py:86
1384
+ #: core/app_settings.py:74
1380
1385
  msgid "Default password for automatically created accounts."
1381
1386
  msgstr "Otomatik oluşturulan hesaplar için varsayılan parola."
1382
1387
 
1383
- #: core/app_settings.py:93
1388
+ #: core/app_settings.py:81
1384
1389
  msgid "Random password length"
1385
1390
  msgstr "Rastgele şifre uzunluğu"
1386
1391
 
1387
- #: core/app_settings.py:95
1392
+ #: core/app_settings.py:83
1388
1393
  msgid "Length of randomly generated passwords."
1389
1394
  msgstr ""
1390
1395
 
1391
- #: core/app_settings.py:103
1396
+ #: core/app_settings.py:91
1392
1397
  msgid "Allow special characters for random password"
1393
1398
  msgstr ""
1394
1399
 
1395
- #: core/app_settings.py:106
1400
+ #: core/app_settings.py:94
1396
1401
  msgid "Enable special characters in randomly generated passwords."
1397
1402
  msgstr ""
1398
1403
 
1399
- #: core/app_settings.py:114
1404
+ #: core/app_settings.py:102
1400
1405
  #, fuzzy
1401
1406
  #| msgid "Update password scheme"
1402
1407
  msgid "Update password service URL"
1403
1408
  msgstr "Şifre şemasını güncelle"
1404
1409
 
1405
- #: core/app_settings.py:116
1410
+ #: core/app_settings.py:104
1406
1411
  msgid ""
1407
1412
  "The URL of an external page where users will be able to update their "
1408
1413
  "password. It applies only to non local users, ie. those automatically "
1409
1414
  "created after a successful external authentication (LDAP, SMTP)."
1410
1415
  msgstr ""
1411
1416
 
1412
- #: core/app_settings.py:126
1417
+ #: core/app_settings.py:114
1413
1418
  msgid "Password recovery announcement"
1414
1419
  msgstr ""
1415
1420
 
1416
- #: core/app_settings.py:128
1421
+ #: core/app_settings.py:116
1417
1422
  msgid "A temporary message that will be displayed on the reset password page."
1418
1423
  msgstr ""
1419
1424
 
1420
- #: core/app_settings.py:137
1425
+ #: core/app_settings.py:125
1421
1426
  msgid "Enable password recovery by SMS"
1422
1427
  msgstr ""
1423
1428
 
1424
- #: core/app_settings.py:140
1429
+ #: core/app_settings.py:128
1425
1430
  msgid "Enable password recovery by SMS for users who filled a phone number."
1426
1431
  msgstr ""
1427
1432
 
1428
- #: core/app_settings.py:148
1433
+ #: core/app_settings.py:136
1429
1434
  msgid "SMS provider"
1430
1435
  msgstr ""
1431
1436
 
1432
- #: core/app_settings.py:151
1437
+ #: core/app_settings.py:139
1433
1438
  msgid "Choose a provider to send password recovery SMS"
1434
1439
  msgstr ""
1435
1440
 
1436
- #: core/app_settings.py:163
1441
+ #: core/app_settings.py:151
1437
1442
  msgid "LDAP"
1438
1443
  msgstr ""
1439
1444
 
1440
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1445
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1441
1446
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1442
- #: webmail/app_settings.py:73
1447
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1443
1448
  msgid "Server address"
1444
1449
  msgstr "Sunucu adresi"
1445
1450
 
1446
- #: core/app_settings.py:171
1451
+ #: core/app_settings.py:159
1447
1452
  msgid "The IP address or the DNS name of the LDAP server"
1448
1453
  msgstr "LDAP sunucusunun adresi (DNS) ya da ip adresi"
1449
1454
 
1450
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1455
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1451
1456
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1452
- #: webmail/app_settings.py:91
1457
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1453
1458
  msgid "Server port"
1454
1459
  msgstr "Sunucu portu"
1455
1460
 
1456
- #: core/app_settings.py:180
1461
+ #: core/app_settings.py:168
1457
1462
  msgid "The TCP port number used by the LDAP server"
1458
1463
  msgstr "LDAP sunucu tarafından kullanılan TCP portu"
1459
1464
 
1460
- #: core/app_settings.py:188
1465
+ #: core/app_settings.py:176
1461
1466
  msgid "Enable secondary server (fallback)"
1462
1467
  msgstr ""
1463
1468
 
1464
- #: core/app_settings.py:191
1469
+ #: core/app_settings.py:179
1465
1470
  msgid ""
1466
1471
  "Enable a secondary LDAP server which will be used if the primary one fails"
1467
1472
  msgstr ""
1468
1473
 
1469
- #: core/app_settings.py:199
1474
+ #: core/app_settings.py:187
1470
1475
  #, fuzzy
1471
1476
  #| msgid "Server address"
1472
1477
  msgid "Secondary server address"
1473
1478
  msgstr "Sunucu adresi"
1474
1479
 
1475
- #: core/app_settings.py:202
1480
+ #: core/app_settings.py:190
1476
1481
  #, fuzzy
1477
1482
  #| msgid "The IP address or the DNS name of the LDAP server"
1478
1483
  msgid "The IP address or the DNS name of the seondary LDAP server"
1479
1484
  msgstr "LDAP sunucusunun adresi (DNS) ya da ip adresi"
1480
1485
 
1481
- #: core/app_settings.py:209
1486
+ #: core/app_settings.py:197
1482
1487
  #, fuzzy
1483
1488
  #| msgid "Server port"
1484
1489
  msgid "Secondary server port"
1485
1490
  msgstr "Sunucu portu"
1486
1491
 
1487
- #: core/app_settings.py:212
1492
+ #: core/app_settings.py:200
1488
1493
  #, fuzzy
1489
1494
  #| msgid "The TCP port number used by the LDAP server"
1490
1495
  msgid "The TCP port number used by the LDAP secondary server"
1491
1496
  msgstr "LDAP sunucu tarafından kullanılan TCP portu"
1492
1497
 
1493
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1498
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1494
1499
  #: webmail/app_settings.py:45
1495
1500
  msgid "Use a secured connection"
1496
1501
  msgstr "Güvenli bir bağlantı kullan"
1497
1502
 
1498
- #: core/app_settings.py:221
1503
+ #: core/app_settings.py:209
1499
1504
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1500
1505
  msgstr ""
1501
1506
 
1502
- #: core/app_settings.py:228
1507
+ #: core/app_settings.py:216
1503
1508
  msgid "Active Directory"
1504
1509
  msgstr "Active Directory"
1505
1510
 
1506
- #: core/app_settings.py:230
1511
+ #: core/app_settings.py:218
1507
1512
  msgid "Tell if the LDAP server is an Active Directory one"
1508
1513
  msgstr "LDAP sunucu bir Active Directory ise"
1509
1514
 
1510
- #: core/app_settings.py:237
1515
+ #: core/app_settings.py:225
1511
1516
  msgid "Administrator groups"
1512
1517
  msgstr "Yönetici grupları"
1513
1518
 
1514
- #: core/app_settings.py:239
1519
+ #: core/app_settings.py:227
1515
1520
  msgid ""
1516
1521
  "Members of those LDAP Posix groups will be created as domain administrators. "
1517
1522
  "Use ';' characters to separate groups."
1518
1523
  msgstr ""
1519
1524
 
1520
- #: core/app_settings.py:248
1525
+ #: core/app_settings.py:236
1521
1526
  msgid "Group type"
1522
1527
  msgstr "Grup türü"
1523
1528
 
1524
- #: core/app_settings.py:250
1529
+ #: core/app_settings.py:238
1525
1530
  msgid "The LDAP group type to use with your directory."
1526
1531
  msgstr ""
1527
1532
 
1528
- #: core/app_settings.py:257
1533
+ #: core/app_settings.py:245
1529
1534
  msgid "Groups search base"
1530
1535
  msgstr ""
1531
1536
 
1532
- #: core/app_settings.py:259
1537
+ #: core/app_settings.py:247
1533
1538
  msgid "The distinguished name of the search base used to find groups"
1534
1539
  msgstr ""
1535
1540
 
1536
- #: core/app_settings.py:267
1541
+ #: core/app_settings.py:255
1537
1542
  msgid "Password attribute"
1538
1543
  msgstr "Parola özelliği"
1539
1544
 
1540
- #: core/app_settings.py:269
1545
+ #: core/app_settings.py:257
1541
1546
  msgid "The attribute used to store user passwords"
1542
1547
  msgstr "Kullanıcı parolalarını saklamak için kullanılacak özellik"
1543
1548
 
1544
- #: core/app_settings.py:276
1549
+ #: core/app_settings.py:264
1545
1550
  #, fuzzy
1546
1551
  #| msgid "Authentication method"
1547
1552
  msgid "LDAP authentication settings"
1548
1553
  msgstr "Yetkilendirme metodu"
1549
1554
 
1550
- #: core/app_settings.py:284
1555
+ #: core/app_settings.py:272
1551
1556
  msgid "Authentication method"
1552
1557
  msgstr "Yetkilendirme metodu"
1553
1558
 
1554
- #: core/app_settings.py:287
1559
+ #: core/app_settings.py:275
1555
1560
  msgid "Choose the authentication method to use"
1556
1561
  msgstr "Kullanılacak yetkilendirme metodunu seçin"
1557
1562
 
1558
- #: core/app_settings.py:294 core/app_settings.py:357
1563
+ #: core/app_settings.py:282 core/app_settings.py:345
1559
1564
  msgid "Bind DN"
1560
1565
  msgstr ""
1561
1566
 
1562
- #: core/app_settings.py:296 core/app_settings.py:359
1567
+ #: core/app_settings.py:284 core/app_settings.py:347
1563
1568
  msgid ""
1564
1569
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1565
1570
  "for an anonymous bind"
1566
1571
  msgstr ""
1567
1572
 
1568
- #: core/app_settings.py:305 core/app_settings.py:367
1573
+ #: core/app_settings.py:293 core/app_settings.py:355
1569
1574
  msgid "Bind password"
1570
1575
  msgstr ""
1571
1576
 
1572
- #: core/app_settings.py:307 core/app_settings.py:369
1577
+ #: core/app_settings.py:295 core/app_settings.py:357
1573
1578
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1574
1579
  msgstr ""
1575
1580
 
1576
- #: core/app_settings.py:317 core/app_settings.py:422
1581
+ #: core/app_settings.py:305 core/app_settings.py:410
1577
1582
  msgid "Users search base"
1578
1583
  msgstr ""
1579
1584
 
1580
- #: core/app_settings.py:319 core/app_settings.py:424
1585
+ #: core/app_settings.py:307 core/app_settings.py:412
1581
1586
  msgid "The distinguished name of the search base used to find users"
1582
1587
  msgstr ""
1583
1588
 
1584
- #: core/app_settings.py:328 core/app_settings.py:433
1589
+ #: core/app_settings.py:316 core/app_settings.py:421
1585
1590
  msgid "Search filter"
1586
1591
  msgstr "Arama filtresi"
1587
1592
 
1588
- #: core/app_settings.py:330 core/app_settings.py:435
1593
+ #: core/app_settings.py:318 core/app_settings.py:423
1589
1594
  msgid ""
1590
1595
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1591
1596
  "valid, it must be enclosed in parentheses."
1592
1597
  msgstr ""
1593
1598
 
1594
- #: core/app_settings.py:339
1599
+ #: core/app_settings.py:327
1595
1600
  msgid "User DN template"
1596
1601
  msgstr ""
1597
1602
 
1598
- #: core/app_settings.py:341
1603
+ #: core/app_settings.py:329
1599
1604
  #, python-format
1600
1605
  msgid ""
1601
1606
  "The template used to construct a user's DN. It should contain one "
1602
1607
  "placeholder (ie. %(user)s)"
1603
1608
  msgstr ""
1604
1609
 
1605
- #: core/app_settings.py:350
1610
+ #: core/app_settings.py:338
1606
1611
  #, fuzzy
1607
1612
  #| msgid "LDAP settings"
1608
1613
  msgid "LDAP synchronization settings"
1609
1614
  msgstr "LDAP ayarları"
1610
1615
 
1611
- #: core/app_settings.py:378
1616
+ #: core/app_settings.py:366
1612
1617
  msgid "Enable export to LDAP"
1613
1618
  msgstr ""
1614
1619
 
1615
- #: core/app_settings.py:380
1620
+ #: core/app_settings.py:368
1616
1621
  msgid ""
1617
1622
  "Enable automatic synchronization between local database and LDAP directory"
1618
1623
  msgstr ""
1619
1624
 
1620
- #: core/app_settings.py:389
1625
+ #: core/app_settings.py:377
1621
1626
  msgid "Delete remote LDAP account when local account is deleted"
1622
1627
  msgstr ""
1623
1628
 
1624
- #: core/app_settings.py:392
1629
+ #: core/app_settings.py:380
1625
1630
  msgid ""
1626
1631
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1627
1632
  "be disabled."
1628
1633
  msgstr ""
1629
1634
 
1630
- #: core/app_settings.py:401
1635
+ #: core/app_settings.py:389
1631
1636
  msgid "Account DN template"
1632
1637
  msgstr ""
1633
1638
 
1634
- #: core/app_settings.py:403
1639
+ #: core/app_settings.py:391
1635
1640
  #, python-format
1636
1641
  msgid ""
1637
1642
  "The template used to construct an account's DN. It should contain one "
1638
1643
  "placeholder (ie. %(user)s)"
1639
1644
  msgstr ""
1640
1645
 
1641
- #: core/app_settings.py:412
1646
+ #: core/app_settings.py:400
1642
1647
  msgid "Enable import from LDAP"
1643
1648
  msgstr ""
1644
1649
 
1645
- #: core/app_settings.py:414
1650
+ #: core/app_settings.py:402
1646
1651
  msgid "Enable account synchronization from LDAP directory to local database"
1647
1652
  msgstr ""
1648
1653
 
1649
- #: core/app_settings.py:444
1654
+ #: core/app_settings.py:432
1650
1655
  #, fuzzy
1651
1656
  #| msgid "Password attribute"
1652
1657
  msgid "Username attribute"
1653
1658
  msgstr "Parola özelliği"
1654
1659
 
1655
- #: core/app_settings.py:446
1660
+ #: core/app_settings.py:434
1656
1661
  msgid "The name of the LDAP attribute where the username can be found."
1657
1662
  msgstr ""
1658
1663
 
1659
- #: core/app_settings.py:455
1664
+ #: core/app_settings.py:443
1660
1665
  msgid "Enable Dovecot LDAP sync"
1661
1666
  msgstr ""
1662
1667
 
1663
- #: core/app_settings.py:457
1668
+ #: core/app_settings.py:445
1664
1669
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1665
1670
  msgstr ""
1666
1671
 
1667
- #: core/app_settings.py:465
1672
+ #: core/app_settings.py:453
1668
1673
  msgid "Dovecot LDAP config file"
1669
1674
  msgstr ""
1670
1675
 
1671
- #: core/app_settings.py:467
1676
+ #: core/app_settings.py:455
1672
1677
  msgid ""
1673
1678
  "Location of the configuration file which contains Dovecot LDAP settings."
1674
1679
  msgstr ""
1675
1680
 
1676
- #: core/app_settings.py:480
1681
+ #: core/app_settings.py:468
1677
1682
  msgid "Dashboard"
1678
1683
  msgstr "gösterge Paneli"
1679
1684
 
1680
- #: core/app_settings.py:486
1685
+ #: core/app_settings.py:474
1681
1686
  msgid "Custom welcome message"
1682
1687
  msgstr ""
1683
1688
 
1684
- #: core/app_settings.py:488
1689
+ #: core/app_settings.py:476
1685
1690
  msgid "A welcome message that will be displayed instead the default one"
1686
1691
  msgstr ""
1687
1692
 
1688
- #: core/app_settings.py:495
1693
+ #: core/app_settings.py:483
1689
1694
  msgid "Custom RSS feed"
1690
1695
  msgstr ""
1691
1696
 
1692
- #: core/app_settings.py:497
1697
+ #: core/app_settings.py:485
1693
1698
  msgid "Display custom RSS feed to resellers and domain administrators"
1694
1699
  msgstr ""
1695
1700
 
1696
- #: core/app_settings.py:506
1701
+ #: core/app_settings.py:494
1697
1702
  msgid "Display custom RSS feed to super admins"
1698
1703
  msgstr ""
1699
1704
 
1700
- #: core/app_settings.py:509
1705
+ #: core/app_settings.py:497
1701
1706
  msgid "Display custom RSS feed also to super administrators"
1702
1707
  msgstr ""
1703
1708
 
1704
- #: core/app_settings.py:517
1709
+ #: core/app_settings.py:505
1705
1710
  msgid "Hide features widget"
1706
1711
  msgstr ""
1707
1712
 
1708
- #: core/app_settings.py:519
1713
+ #: core/app_settings.py:507
1709
1714
  msgid "Hide features widget for resellers and domain administrators"
1710
1715
  msgstr ""
1711
1716
 
1712
- #: core/app_settings.py:531
1717
+ #: core/app_settings.py:519
1713
1718
  msgid "Theme"
1714
1719
  msgstr ""
1715
1720
 
1716
- #: core/app_settings.py:537
1721
+ #: core/app_settings.py:525
1717
1722
  msgid "Primary theme color"
1718
1723
  msgstr ""
1719
1724
 
1720
- #: core/app_settings.py:539
1725
+ #: core/app_settings.py:527
1721
1726
  msgid ""
1722
1727
  "Primary color of the theme (hexadecimal code), used as the background color "
1723
1728
  "of the left menu for example"
1724
1729
  msgstr ""
1725
1730
 
1726
- #: core/app_settings.py:548
1731
+ #: core/app_settings.py:536
1727
1732
  msgid "Primary theme color (lighter version)"
1728
1733
  msgstr ""
1729
1734
 
1730
- #: core/app_settings.py:551 core/app_settings.py:563
1735
+ #: core/app_settings.py:539 core/app_settings.py:551
1731
1736
  msgid "Primary color of the theme (hexadecimal code)"
1732
1737
  msgstr ""
1733
1738
 
1734
- #: core/app_settings.py:560
1739
+ #: core/app_settings.py:548
1735
1740
  msgid "Primary theme color (darker version)"
1736
1741
  msgstr ""
1737
1742
 
1738
- #: core/app_settings.py:571
1743
+ #: core/app_settings.py:559
1739
1744
  #, fuzzy
1740
1745
  #| msgid "Server port"
1741
1746
  msgid "Secondary theme color"
1742
1747
  msgstr "Sunucu portu"
1743
1748
 
1744
- #: core/app_settings.py:573
1749
+ #: core/app_settings.py:561
1745
1750
  msgid ""
1746
1751
  "Secondary color of the theme (hexadecimal code), used as the background "
1747
1752
  "color of some buttons for example"
1748
1753
  msgstr ""
1749
1754
 
1750
- #: core/app_settings.py:581
1755
+ #: core/app_settings.py:569
1751
1756
  msgid "Labels theme color"
1752
1757
  msgstr ""
1753
1758
 
1754
- #: core/app_settings.py:583
1759
+ #: core/app_settings.py:571
1755
1760
  msgid "Theme color for labels (hexadecimal code)"
1756
1761
  msgstr ""
1757
1762
 
1758
- #: core/app_settings.py:595
1763
+ #: core/app_settings.py:583
1759
1764
  msgid "Notifications"
1760
1765
  msgstr "Bildirimler"
1761
1766
 
1762
- #: core/app_settings.py:601
1767
+ #: core/app_settings.py:589
1763
1768
  msgid "Sender address"
1764
1769
  msgstr "Gönderici adresi"
1765
1770
 
1766
- #: core/app_settings.py:603
1771
+ #: core/app_settings.py:591
1767
1772
  msgid "Email address used to send notifications."
1768
1773
  msgstr "Bildirimlerin gönderileceği email adresi"
1769
1774
 
1770
- #: core/app_settings.py:614
1775
+ #: core/app_settings.py:602
1771
1776
  msgid "Public API"
1772
1777
  msgstr "Genel API"
1773
1778
 
1774
- #: core/app_settings.py:620
1779
+ #: core/app_settings.py:608
1775
1780
  msgid "Enable communication"
1776
1781
  msgstr ""
1777
1782
 
1778
- #: core/app_settings.py:622 core/app_settings.py:632
1783
+ #: core/app_settings.py:610 core/app_settings.py:620
1779
1784
  msgid "Automatically checks if a newer version is available"
1780
1785
  msgstr ""
1781
1786
 
1782
- #: core/app_settings.py:629
1787
+ #: core/app_settings.py:617
1783
1788
  msgid "Check new versions"
1784
1789
  msgstr "Yeni versiyonları kontrol et"
1785
1790
 
1786
- #: core/app_settings.py:640
1791
+ #: core/app_settings.py:628
1787
1792
  msgid "Send an email when new versions are found"
1788
1793
  msgstr ""
1789
1794
 
1790
- #: core/app_settings.py:644
1795
+ #: core/app_settings.py:632
1791
1796
  msgid "Send an email to notify admins about new versions"
1792
1797
  msgstr ""
1793
1798
 
1794
- #: core/app_settings.py:651 sievefilters/constants.py:25
1799
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1795
1800
  msgid "Recipient"
1796
1801
  msgstr ""
1797
1802
 
1798
- #: core/app_settings.py:654
1803
+ #: core/app_settings.py:642
1799
1804
  msgid "Recipient of new versions notification emails."
1800
1805
  msgstr ""
1801
1806
 
1802
- #: core/app_settings.py:661
1807
+ #: core/app_settings.py:649
1803
1808
  msgid "Send statistics"
1804
1809
  msgstr "İstatistikleri gönder"
1805
1810
 
1806
- #: core/app_settings.py:664
1811
+ #: core/app_settings.py:652
1807
1812
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1808
1813
  msgstr ""
1809
1814
 
1810
- #: core/app_settings.py:683
1815
+ #: core/app_settings.py:671
1811
1816
  msgid "Enable inactive account tracking"
1812
1817
  msgstr ""
1813
1818
 
1814
- #: core/app_settings.py:686
1819
+ #: core/app_settings.py:674
1815
1820
  msgid ""
1816
1821
  "Allow the administrator to set a threshold (in days) beyond which an account "
1817
1822
  "is considered inactive if the user hasn't logged in"
1818
1823
  msgstr ""
1819
1824
 
1820
- #: core/app_settings.py:695
1825
+ #: core/app_settings.py:683
1821
1826
  msgid "Inactive account threshold"
1822
1827
  msgstr ""
1823
1828
 
1824
- #: core/app_settings.py:698
1829
+ #: core/app_settings.py:686
1825
1830
  msgid ""
1826
1831
  "An account with a last login date greater than this threshold (in days) will "
1827
1832
  "be considered as inactive"
1828
1833
  msgstr ""
1829
1834
 
1830
- #: core/app_settings.py:707
1835
+ #: core/app_settings.py:695
1831
1836
  msgid "Top notifications check interval"
1832
1837
  msgstr ""
1833
1838
 
1834
- #: core/app_settings.py:710
1839
+ #: core/app_settings.py:698
1835
1840
  msgid "Interval between two top notification checks (in seconds)"
1836
1841
  msgstr ""
1837
1842
 
1838
- #: core/app_settings.py:717
1843
+ #: core/app_settings.py:705
1839
1844
  msgid "Maximum log record age"
1840
1845
  msgstr "Maksimum günlük kayıt yaşı"
1841
1846
 
1842
- #: core/app_settings.py:719
1847
+ #: core/app_settings.py:707
1843
1848
  msgid "The maximum age in days of a log record"
1844
1849
  msgstr ""
1845
1850
 
1846
- #: core/app_settings.py:727
1851
+ #: core/app_settings.py:715
1847
1852
  msgid "Retention time in message history"
1848
1853
  msgstr ""
1849
1854
 
1850
- #: core/app_settings.py:730
1855
+ #: core/app_settings.py:718
1851
1856
  msgid "Retention time (in days) of a message in the message history section"
1852
1857
  msgstr ""
1853
1858
 
1854
- #: core/app_settings.py:737
1859
+ #: core/app_settings.py:725
1855
1860
  msgid "Items per page"
1856
1861
  msgstr "Sayfa başına öğe"
1857
1862
 
1858
- #: core/app_settings.py:739
1863
+ #: core/app_settings.py:727
1859
1864
  msgid "Number of displayed items per page"
1860
1865
  msgstr ""
1861
1866
 
1862
- #: core/app_settings.py:746
1863
- msgid "Default top redirection"
1864
- msgstr ""
1865
-
1866
- #: core/app_settings.py:748
1867
- msgid "The default redirection used when no application is specified"
1868
- msgstr ""
1869
-
1870
1867
  #: core/checks.py:15
1871
1868
  msgid ""
1872
1869
  "You have USE_TZ set to False, this may result in issues during transitions "
@@ -2197,7 +2194,7 @@ msgid "Not resolved"
2197
2194
  msgstr ""
2198
2195
 
2199
2196
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
2200
- #: webmail/constants.py:18
2197
+ #: webmail/constants.py:38
2201
2198
  msgid "None"
2202
2199
  msgstr ""
2203
2200
 
@@ -3109,7 +3106,7 @@ msgstr ""
3109
3106
  msgid "is not"
3110
3107
  msgstr ""
3111
3108
 
3112
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3109
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
3113
3110
  msgid "Subject"
3114
3111
  msgstr "Konu"
3115
3112
 
@@ -3349,23 +3346,23 @@ msgstr ""
3349
3346
  msgid "SMTP settings"
3350
3347
  msgstr "LDAP ayarları"
3351
3348
 
3352
- #: webmail/app_settings.py:75
3349
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3353
3350
  msgid "Address of your SMTP server"
3354
3351
  msgstr ""
3355
3352
 
3356
- #: webmail/app_settings.py:82
3353
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3357
3354
  #, fuzzy
3358
3355
  #| msgid "Use a secured connection"
3359
3356
  msgid "Secured connection mode"
3360
3357
  msgstr "Güvenli bir bağlantı kullan"
3361
3358
 
3362
- #: webmail/app_settings.py:84
3359
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3363
3360
  #, fuzzy
3364
3361
  #| msgid "Use a secured connection"
3365
3362
  msgid "Use a secured connection to access SMTP server"
3366
3363
  msgstr "Güvenli bir bağlantı kullan"
3367
3364
 
3368
- #: webmail/app_settings.py:93
3365
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3369
3366
  msgid "Listening port of your SMTP server"
3370
3367
  msgstr ""
3371
3368
 
@@ -3381,97 +3378,103 @@ msgstr "Yetkilendirme metodu"
3381
3378
  msgid "Server needs authentication"
3382
3379
  msgstr "Yetkilendirme metodu"
3383
3380
 
3384
- #: webmail/app_settings.py:124
3381
+ #: webmail/app_settings.py:113
3382
+ #, fuzzy
3383
+ #| msgid "LDAP settings"
3384
+ msgid "Scheduling settings"
3385
+ msgstr "LDAP ayarları"
3386
+
3387
+ #: webmail/app_settings.py:161
3385
3388
  msgid "Default message display mode"
3386
3389
  msgstr ""
3387
3390
 
3388
- #: webmail/app_settings.py:126
3391
+ #: webmail/app_settings.py:163
3389
3392
  msgid "The default mode used when displaying a message"
3390
3393
  msgstr ""
3391
3394
 
3392
- #: webmail/app_settings.py:133
3395
+ #: webmail/app_settings.py:170
3393
3396
  msgid "Enable HTML links display"
3394
3397
  msgstr ""
3395
3398
 
3396
- #: webmail/app_settings.py:136
3399
+ #: webmail/app_settings.py:173
3397
3400
  msgid "Enable/Disable HTML links display"
3398
3401
  msgstr ""
3399
3402
 
3400
- #: webmail/app_settings.py:147
3403
+ #: webmail/app_settings.py:184
3401
3404
  msgid "Sets the maximum number of messages displayed in a page"
3402
3405
  msgstr ""
3403
3406
 
3404
- #: webmail/app_settings.py:154
3407
+ #: webmail/app_settings.py:191
3405
3408
  msgid "Listing refresh rate"
3406
3409
  msgstr ""
3407
3410
 
3408
- #: webmail/app_settings.py:156
3411
+ #: webmail/app_settings.py:193
3409
3412
  msgid "Automatic listing refresh rate (in secconds)"
3410
3413
  msgstr ""
3411
3414
 
3412
- #: webmail/app_settings.py:163
3415
+ #: webmail/app_settings.py:200
3413
3416
  msgid "Folder container's width"
3414
3417
  msgstr ""
3415
3418
 
3416
- #: webmail/app_settings.py:165
3419
+ #: webmail/app_settings.py:202
3417
3420
  msgid "The width of the folder list container"
3418
3421
  msgstr ""
3419
3422
 
3420
- #: webmail/app_settings.py:176
3423
+ #: webmail/app_settings.py:213
3421
3424
  msgid "Folders"
3422
3425
  msgstr ""
3423
3426
 
3424
- #: webmail/app_settings.py:182
3427
+ #: webmail/app_settings.py:219
3425
3428
  msgid "Trash folder"
3426
3429
  msgstr ""
3427
3430
 
3428
- #: webmail/app_settings.py:184
3431
+ #: webmail/app_settings.py:221
3429
3432
  msgid "Folder where deleted messages go"
3430
3433
  msgstr ""
3431
3434
 
3432
- #: webmail/app_settings.py:191
3435
+ #: webmail/app_settings.py:228
3433
3436
  msgid "Sent folder"
3434
3437
  msgstr ""
3435
3438
 
3436
- #: webmail/app_settings.py:193
3439
+ #: webmail/app_settings.py:230
3437
3440
  msgid "Folder where copies of sent messages go"
3438
3441
  msgstr ""
3439
3442
 
3440
- #: webmail/app_settings.py:200
3443
+ #: webmail/app_settings.py:237
3441
3444
  msgid "Drafts folder"
3442
3445
  msgstr ""
3443
3446
 
3444
- #: webmail/app_settings.py:201
3447
+ #: webmail/app_settings.py:238
3445
3448
  msgid "Folder where drafts go"
3446
3449
  msgstr ""
3447
3450
 
3448
- #: webmail/app_settings.py:207
3451
+ #: webmail/app_settings.py:244
3449
3452
  msgid "Junk folder"
3450
3453
  msgstr ""
3451
3454
 
3452
- #: webmail/app_settings.py:209
3455
+ #: webmail/app_settings.py:246
3453
3456
  msgid "Folder where junk messages should go"
3454
3457
  msgstr ""
3455
3458
 
3456
- #: webmail/app_settings.py:220
3459
+ #: webmail/app_settings.py:257
3457
3460
  msgid "Composing messages"
3458
3461
  msgstr ""
3459
3462
 
3460
- #: webmail/app_settings.py:226
3463
+ #: webmail/app_settings.py:263
3461
3464
  #, fuzzy
3462
3465
  #| msgid "Default password"
3463
3466
  msgid "Default editor"
3464
3467
  msgstr "Varsayılan parola"
3465
3468
 
3466
- #: webmail/app_settings.py:228
3469
+ #: webmail/app_settings.py:265
3467
3470
  msgid "The default editor to use when composing a message"
3468
3471
  msgstr ""
3469
3472
 
3470
- #: webmail/app_settings.py:235
3473
+ #: webmail/app_settings.py:272
3471
3474
  msgid "Signature text"
3472
3475
  msgstr ""
3473
3476
 
3474
- #: webmail/app_settings.py:237
3477
+ #: webmail/app_settings.py:274
3475
3478
  msgid "User defined email signature"
3476
3479
  msgstr ""
3477
3480
 
@@ -3485,43 +3488,62 @@ msgstr "Sunucu adresi"
3485
3488
  msgid "Failed to remove attachment: "
3486
3489
  msgstr ""
3487
3490
 
3488
- #: webmail/lib/imapemail.py:272
3491
+ #: webmail/lib/imapemail.py:270
3489
3492
  msgid "wrote:"
3490
3493
  msgstr ""
3491
3494
 
3492
- #: webmail/lib/imapemail.py:306
3495
+ #: webmail/lib/imapemail.py:304
3493
3496
  msgid "Date"
3494
3497
  msgstr ""
3495
3498
 
3496
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3499
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3497
3500
  msgid "Original message"
3498
3501
  msgstr ""
3499
3502
 
3500
- #: webmail/lib/imaputils.py:221
3503
+ #: webmail/lib/imaputils.py:222
3501
3504
  msgid "Failed to retrieve hierarchy delimiter"
3502
3505
  msgstr ""
3503
3506
 
3504
- #: webmail/lib/imaputils.py:472
3507
+ #: webmail/lib/imaputils.py:478
3505
3508
  msgid "Inbox"
3506
3509
  msgstr ""
3507
3510
 
3508
- #: webmail/lib/imaputils.py:476
3511
+ #: webmail/lib/imaputils.py:482
3509
3512
  msgid "Drafts"
3510
3513
  msgstr ""
3511
3514
 
3512
- #: webmail/lib/imaputils.py:481
3515
+ #: webmail/lib/imaputils.py:487
3513
3516
  msgid "Junk"
3514
3517
  msgstr ""
3515
3518
 
3516
- #: webmail/lib/imaputils.py:486
3519
+ #: webmail/lib/imaputils.py:492
3517
3520
  msgid "Sent"
3518
3521
  msgstr ""
3519
3522
 
3520
- #: webmail/lib/imaputils.py:491
3523
+ #: webmail/lib/imaputils.py:500
3524
+ msgid "Scheduled"
3525
+ msgstr ""
3526
+
3527
+ #: webmail/lib/imaputils.py:507
3521
3528
  msgid "Trash"
3522
3529
  msgstr ""
3523
3530
 
3524
- #: webmail/viewsets.py:357
3531
+ #: webmail/serializers.py:220
3532
+ msgid "Moving scheduled messages is forbidden"
3533
+ msgstr ""
3534
+
3535
+ #: webmail/serializers.py:253
3536
+ msgid "Only datetime in the future is allowed"
3537
+ msgstr ""
3538
+
3539
+ #: webmail/serializers.py:258
3540
+ msgid "Provived datetime must be one minute in the future at least"
3541
+ msgstr ""
3542
+
3543
+ #: webmail/viewsets.py:359
3525
3544
  #, python-format
3526
3545
  msgid "Attachment is too big (limit: %s)"
3527
3546
  msgstr ""
3547
+
3548
+ #~ msgid "User profile"
3549
+ #~ msgstr "Kullanıcı profili"