rmails 0.1.1
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.
- checksums.yaml +7 -0
- data/.gitignore +20 -0
- data/Gemfile +24 -0
- data/Gemfile.lock +167 -0
- data/LICENSE.txt +20 -0
- data/README.markdown +9 -0
- data/Rakefile +31 -0
- data/Rakefile1 +9 -0
- data/Vagrantfile +51 -0
- data/app/assets/images/arrow_bottom.gif +0 -0
- data/app/assets/images/arrow_right.gif +0 -0
- data/app/assets/images/at-sign.png +0 -0
- data/app/assets/images/checkerboard.gif +0 -0
- data/app/assets/images/glyphicons-halflings-white.png +0 -0
- data/app/assets/images/glyphicons-halflings.png +0 -0
- data/app/assets/images/icon_draft.gif +0 -0
- data/app/assets/images/icon_layout.gif +0 -0
- data/app/assets/images/icon_move.gif +0 -0
- data/app/assets/images/icon_regular.gif +0 -0
- data/app/assets/images/icon_snippet.gif +0 -0
- data/app/assets/images/nav_arrow.png +0 -0
- data/app/assets/images/x.png +0 -0
- data/app/assets/javascripts/application.coffee.erb +27 -0
- data/app/assets/javascripts/canjs/can.construct.proxy.js +60 -0
- data/app/assets/javascripts/canjs/can.construct.super.js +44 -0
- data/app/assets/javascripts/canjs/can.control.plugin.js +245 -0
- data/app/assets/javascripts/canjs/can.control.view.js +88 -0
- data/app/assets/javascripts/canjs/can.dojo.js +3669 -0
- data/app/assets/javascripts/canjs/can.dojo.min.js +66 -0
- data/app/assets/javascripts/canjs/can.fixture.js +1020 -0
- data/app/assets/javascripts/canjs/can.jquery.js +2995 -0
- data/app/assets/javascripts/canjs/can.jquery.min.js +52 -0
- data/app/assets/javascripts/canjs/can.mootools.js +3462 -0
- data/app/assets/javascripts/canjs/can.mootools.min.js +63 -0
- data/app/assets/javascripts/canjs/can.observe.attributes.js +293 -0
- data/app/assets/javascripts/canjs/can.observe.backup.js +368 -0
- data/app/assets/javascripts/canjs/can.observe.delegate.js +359 -0
- data/app/assets/javascripts/canjs/can.observe.setter.js +58 -0
- data/app/assets/javascripts/canjs/can.observe.validations.js +374 -0
- data/app/assets/javascripts/canjs/can.view.modifiers.js +292 -0
- data/app/assets/javascripts/canjs/can.yui.js +3530 -0
- data/app/assets/javascripts/canjs/can.yui.min.js +65 -0
- data/app/assets/javascripts/canjs/can.zepto.js +3426 -0
- data/app/assets/javascripts/canjs/can.zepto.min.js +62 -0
- data/app/assets/javascripts/controls/admins.coffee.erb +105 -0
- data/app/assets/javascripts/controls/aliases.coffee.erb +91 -0
- data/app/assets/javascripts/controls/domains.coffee.erb +115 -0
- data/app/assets/javascripts/controls/settings.coffee.erb +47 -0
- data/app/assets/javascripts/controls/users.coffee.erb +94 -0
- data/app/assets/javascripts/lib/facebox.js +311 -0
- data/app/assets/javascripts/lib/html5.js +2 -0
- data/app/assets/javascripts/lib/jquery.js +9301 -0
- data/app/assets/javascripts/lib/jquery_formparams.js +108 -0
- data/app/assets/javascripts/lib/jquery_input_hint.js +20 -0
- data/app/assets/javascripts/lib/jquery_paginate.js +120 -0
- data/app/assets/javascripts/lib/jquery_ui_custom.js +6 -0
- data/app/assets/javascripts/lib/json2.js +487 -0
- data/app/assets/javascripts/lib/utils.coffee.erb +48 -0
- data/app/assets/javascripts/models/admin.coffee.erb +42 -0
- data/app/assets/javascripts/models/alias.coffee.erb +28 -0
- data/app/assets/javascripts/models/domain.coffee.erb +39 -0
- data/app/assets/javascripts/models/property.coffee.erb +18 -0
- data/app/assets/javascripts/models/user.coffee.erb +29 -0
- data/app/assets/stylesheets/application.sass +156 -0
- data/app/assets/stylesheets/base.css.sass +243 -0
- data/app/assets/stylesheets/facebox.css +80 -0
- data/app/assets/stylesheets/lib/bootstrap.css +9 -0
- data/app/assets/stylesheets/twitter/bootstrap-responsive.scss +1 -0
- data/app/assets/stylesheets/twitter/bootstrap.scss +63 -0
- data/app/assets/stylesheets/twitter/bootstrap/_accordion.scss +34 -0
- data/app/assets/stylesheets/twitter/bootstrap/_alerts.scss +79 -0
- data/app/assets/stylesheets/twitter/bootstrap/_breadcrumbs.scss +24 -0
- data/app/assets/stylesheets/twitter/bootstrap/_button-groups.scss +229 -0
- data/app/assets/stylesheets/twitter/bootstrap/_buttons.scss +228 -0
- data/app/assets/stylesheets/twitter/bootstrap/_carousel.scss +158 -0
- data/app/assets/stylesheets/twitter/bootstrap/_close.scss +32 -0
- data/app/assets/stylesheets/twitter/bootstrap/_code.scss +61 -0
- data/app/assets/stylesheets/twitter/bootstrap/_component-animations.scss +22 -0
- data/app/assets/stylesheets/twitter/bootstrap/_dropdowns.scss +237 -0
- data/app/assets/stylesheets/twitter/bootstrap/_forms.scss +689 -0
- data/app/assets/stylesheets/twitter/bootstrap/_grid.scss +21 -0
- data/app/assets/stylesheets/twitter/bootstrap/_hero-unit.scss +25 -0
- data/app/assets/stylesheets/twitter/bootstrap/_labels-badges.scss +83 -0
- data/app/assets/stylesheets/twitter/bootstrap/_layouts.scss +16 -0
- data/app/assets/stylesheets/twitter/bootstrap/_media.scss +55 -0
- data/app/assets/stylesheets/twitter/bootstrap/_mixins.scss +690 -0
- data/app/assets/stylesheets/twitter/bootstrap/_modals.scss +95 -0
- data/app/assets/stylesheets/twitter/bootstrap/_navbar.scss +497 -0
- data/app/assets/stylesheets/twitter/bootstrap/_navs.scss +409 -0
- data/app/assets/stylesheets/twitter/bootstrap/_pager.scss +43 -0
- data/app/assets/stylesheets/twitter/bootstrap/_pagination.scss +123 -0
- data/app/assets/stylesheets/twitter/bootstrap/_popovers.scss +133 -0
- data/app/assets/stylesheets/twitter/bootstrap/_progress-bars.scss +122 -0
- data/app/assets/stylesheets/twitter/bootstrap/_reset.scss +216 -0
- data/app/assets/stylesheets/twitter/bootstrap/_responsive-1200px-min.scss +28 -0
- data/app/assets/stylesheets/twitter/bootstrap/_responsive-767px-max.scss +193 -0
- data/app/assets/stylesheets/twitter/bootstrap/_responsive-768px-979px.scss +19 -0
- data/app/assets/stylesheets/twitter/bootstrap/_responsive-navbar.scss +189 -0
- data/app/assets/stylesheets/twitter/bootstrap/_responsive-utilities.scss +74 -0
- data/app/assets/stylesheets/twitter/bootstrap/_scaffolding.scss +53 -0
- data/app/assets/stylesheets/twitter/bootstrap/_sprites.scss +197 -0
- data/app/assets/stylesheets/twitter/bootstrap/_tables.scss +235 -0
- data/app/assets/stylesheets/twitter/bootstrap/_thumbnails.scss +53 -0
- data/app/assets/stylesheets/twitter/bootstrap/_tooltip.scss +70 -0
- data/app/assets/stylesheets/twitter/bootstrap/_type.scss +247 -0
- data/app/assets/stylesheets/twitter/bootstrap/_utilities.scss +45 -0
- data/app/assets/stylesheets/twitter/bootstrap/_variables.scss +301 -0
- data/app/assets/stylesheets/twitter/bootstrap/_wells.scss +29 -0
- data/app/assets/stylesheets/twitter/bootstrap/responsive.scss +48 -0
- data/app/controllers/admin_users_controller.rb +62 -0
- data/app/controllers/aliases_controller.rb +35 -0
- data/app/controllers/application_controller.rb +20 -0
- data/app/controllers/domains_controller.rb +48 -0
- data/app/controllers/server_controller.rb +28 -0
- data/app/controllers/users_controller.rb +35 -0
- data/app/helpers/admin_users_helper.rb +11 -0
- data/app/helpers/application_helper.rb +2 -0
- data/app/helpers/domains_helper.rb +25 -0
- data/app/helpers/server_helper.rb +30 -0
- data/app/mailers/.gitkeep +0 -0
- data/app/models/.gitkeep +0 -0
- data/app/models/admin_user.rb +54 -0
- data/app/models/certificate_manager.rb +46 -0
- data/app/models/property.rb +103 -0
- data/app/models/property/awstats.rb +15 -0
- data/app/models/property/dovecot.rb +61 -0
- data/app/models/property/dspam.rb +45 -0
- data/app/models/property/nginx.rb +47 -0
- data/app/models/property/postfix.rb +64 -0
- data/app/models/property_value_validator.rb +41 -0
- data/app/models/system_manager.rb +88 -0
- data/app/models/virtual_alias.rb +13 -0
- data/app/models/virtual_domain.rb +15 -0
- data/app/models/virtual_user.rb +51 -0
- data/app/views/admin_users/_form.html.haml +21 -0
- data/app/views/admin_users/first.html.haml +12 -0
- data/app/views/admin_users/index.html.haml +61 -0
- data/app/views/aliases/_form.html.haml +11 -0
- data/app/views/aliases/_list.html.haml +0 -0
- data/app/views/devise/confirmations/new.html.haml +9 -0
- data/app/views/devise/mailer/confirmation_instructions.html.haml +4 -0
- data/app/views/devise/mailer/reset_password_instructions.html.haml +6 -0
- data/app/views/devise/mailer/unlock_instructions.html.haml +5 -0
- data/app/views/devise/passwords/edit.html.haml +14 -0
- data/app/views/devise/passwords/new.html.haml +12 -0
- data/app/views/devise/registrations/edit.html.haml +18 -0
- data/app/views/devise/registrations/new.html.haml +10 -0
- data/app/views/devise/sessions/new.html.haml +16 -0
- data/app/views/devise/shared/_links.haml +17 -0
- data/app/views/devise/unlocks/new.html.haml +11 -0
- data/app/views/domains/_fields.html.haml +0 -0
- data/app/views/domains/_form.html.haml +7 -0
- data/app/views/domains/index.html.haml +133 -0
- data/app/views/domains/show.html.haml +1 -0
- data/app/views/layouts/_nav.html.haml +3 -0
- data/app/views/layouts/application.html.haml +29 -0
- data/app/views/server/_certificates.html.haml +10 -0
- data/app/views/server/_dovecot.html.haml +27 -0
- data/app/views/server/_dspam.html.haml +9 -0
- data/app/views/server/_postfix_info.html.haml +5 -0
- data/app/views/server/_postfix_test.html.haml +5 -0
- data/app/views/server/_status.html.haml +11 -0
- data/app/views/server/index.html.haml +36 -0
- data/app/views/users/_form.html.haml +11 -0
- data/app/views/users/_list.html.haml +0 -0
- data/bin/rmails +43 -0
- data/config.ru +4 -0
- data/config/application.rb +62 -0
- data/config/boot.rb +6 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +37 -0
- data/config/environments/production.rb +67 -0
- data/config/environments/test.rb +37 -0
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/devise.rb +240 -0
- data/config/initializers/devise_encryptable.rb +37 -0
- data/config/initializers/devise_models.rb +86 -0
- data/config/initializers/inflections.rb +15 -0
- data/config/initializers/mime_types.rb +5 -0
- data/config/initializers/secret_token.rb +7 -0
- data/config/initializers/session_store.rb +8 -0
- data/config/initializers/simple_form.rb +142 -0
- data/config/initializers/simple_form_bootstrap.rb +45 -0
- data/config/initializers/wrap_parameters.rb +14 -0
- data/config/locales/cz.yml +45 -0
- data/config/locales/devise.cz.yml +47 -0
- data/config/locales/devise.en.yml +60 -0
- data/config/locales/en.yml +5 -0
- data/config/locales/server/cz.yml +14 -0
- data/config/locales/server/en.yml +7 -0
- data/config/locales/server/help/dovecot/cz.yml +21 -0
- data/config/locales/server/help/dovecot/en.yml +18 -0
- data/config/locales/server/help/dspam/cz.yml +10 -0
- data/config/locales/server/help/dspam/en.yml +4 -0
- data/config/locales/server/key/dovecot/cz.yml +23 -0
- data/config/locales/server/key/dovecot/en.yml +20 -0
- data/config/locales/server/key/dspam/cz.yml +10 -0
- data/config/locales/server/key/dspam/en.yml +4 -0
- data/config/locales/simple_form.en.yml +26 -0
- data/config/locales/views/admin_users/cz.yml +25 -0
- data/config/locales/views/admin_users/en.yml +5 -0
- data/config/locales/views/aliases/cz.yml +17 -0
- data/config/locales/views/aliases/en.yml +1 -0
- data/config/locales/views/devise/cz.yml +26 -0
- data/config/locales/views/devise/en.yml +13 -0
- data/config/locales/views/domains/cz.yml +15 -0
- data/config/locales/views/domains/en.yml +15 -0
- data/config/locales/views/server/cz.yml +19 -0
- data/config/locales/views/server/en.yml +3 -0
- data/config/locales/views/users/cz.yml +18 -0
- data/config/locales/views/users/en.yml +1 -0
- data/config/routes.rb +80 -0
- data/db/migrate/20121112201233_virtual_domain.rb +11 -0
- data/db/migrate/20121112201247_virtual_alias.rb +10 -0
- data/db/migrate/20121112201341_virtual_user.rb +34 -0
- data/db/migrate/20121112201359_create_admin_user.rb +30 -0
- data/db/migrate/20121112201411_server_configuration.rb +13 -0
- data/db/migrate/20130304083938_join_domains_users.rb +12 -0
- data/db/migrate/20130311214040_create_versions.rb +18 -0
- data/db/seeds.rb +45 -0
- data/lib/devise-encryptable.rb +1 -0
- data/lib/rmails.rb +5 -0
- data/lib/rmails/installer.rb +37 -0
- data/lib/rmails/version.rb +3 -0
- data/lib/tasks/.gitkeep +0 -0
- data/lib/templates/haml/scaffold/_form.html.haml +10 -0
- data/locals +0 -0
- data/log/.gitkeep +0 -0
- data/public/404.html +26 -0
- data/public/422.html +26 -0
- data/public/500.html +25 -0
- data/public/favicon.ico +0 -0
- data/public/fonts/London.eot +0 -0
- data/public/fonts/London.otf +0 -0
- data/public/fonts/London.woff +0 -0
- data/public/fonts/LondonBold.otf +0 -0
- data/public/robots.txt +5 -0
- data/rmails.gemspec +35 -0
- data/script/prepflog.pl +576 -0
- data/script/rails +6 -0
- data/system/config/automateit_env.rb +16 -0
- data/system/config/fields.yml +48 -0
- data/system/config/tags.yml +39 -0
- data/system/dist/README_AutomateIt_dist.txt +20 -0
- data/system/dist/amavis/spamassassin.cf.erb +85 -0
- data/system/dist/amavis/user.erb +33 -0
- data/system/dist/awstats/awstats.mail.conf.erb +41 -0
- data/system/dist/awstats/prepflog.pl +576 -0
- data/system/dist/dovecot/dovecot-sql.conf.ext.erb +14 -0
- data/system/dist/dovecot/dovecot.conf.erb +297 -0
- data/system/dist/dovecot/old_dovecot.conf.erb +63 -0
- data/system/dist/dspam/conf.erb +96 -0
- data/system/dist/dspam/pgsql.conf +33 -0
- data/system/dist/nginx/awstats.erb +17 -0
- data/system/dist/nginx/rmails.erb +40 -0
- data/system/dist/postfix/email2email.cf.erb +5 -0
- data/system/dist/postfix/main.cf.erb +118 -0
- data/system/dist/postfix/master.cf.erb +74 -0
- data/system/dist/postfix/sasl.conf.erb +3 -0
- data/system/dist/postfix/sender_login_maps.cf.erb +5 -0
- data/system/dist/postfix/virtual_alias_maps.cf.erb +5 -0
- data/system/dist/postfix/virtual_mailbox_domains.cf.erb +5 -0
- data/system/dist/postfix/virtual_mailbox_maps.cf.erb +5 -0
- data/system/dist/postgresql/postgresql.conf.erb +54 -0
- data/system/dist/rmails/Gemfile.1 +8 -0
- data/system/dist/rmails/Gemfile.2 +24 -0
- data/system/dist/rmails/database.yml.erb +15 -0
- data/system/dist/sudoers +37 -0
- data/system/lib/README_AutomateIt_lib.txt +22 -0
- data/system/lib/dkim_key.rb +9 -0
- data/system/lib/smtpd_key.rb +39 -0
- data/system/lib/ssl.rb +23 -0
- data/system/recipes/01_prepare_server.rb +84 -0
- data/system/recipes/02_setup_database.rb +65 -0
- data/system/recipes/03_setup_postfix.rb +124 -0
- data/system/recipes/04_setup_dovecot.rb +78 -0
- data/system/recipes/05_setup_nginx.rb +29 -0
- data/system/recipes/06_setup_dspam.rb +24 -0
- data/system/recipes/07_setup_amavis.rb +16 -0
- data/system/recipes/08_setup_spamassassin.rb +22 -0
- data/system/recipes/09_setup_awstats.rb +49 -0
- data/system/recipes/XX_start_services.rb +5 -0
- data/test/fixtures/.gitkeep +0 -0
- data/test/functional/.gitkeep +0 -0
- data/test/functional/aliases_controller_test.rb +7 -0
- data/test/functional/domains_controller_test.rb +7 -0
- data/test/functional/users_controller_test.rb +7 -0
- data/test/integration/.gitkeep +0 -0
- data/test/performance/browsing_test.rb +12 -0
- data/test/test_helper.rb +13 -0
- data/test/unit/.gitkeep +0 -0
- data/test/unit/helpers/aliases_helper_test.rb +4 -0
- data/test/unit/helpers/domains_helper_test.rb +4 -0
- data/test/unit/helpers/users_helper_test.rb +4 -0
- data/vendor/assets/javascripts/.gitkeep +0 -0
- data/vendor/assets/javascripts/canjs/can.construct.proxy.js +60 -0
- data/vendor/assets/javascripts/canjs/can.construct.super.js +44 -0
- data/vendor/assets/javascripts/canjs/can.control.plugin.js +245 -0
- data/vendor/assets/javascripts/canjs/can.control.view.js +88 -0
- data/vendor/assets/javascripts/canjs/can.dojo.js +3669 -0
- data/vendor/assets/javascripts/canjs/can.dojo.min.js +66 -0
- data/vendor/assets/javascripts/canjs/can.fixture.js +1020 -0
- data/vendor/assets/javascripts/canjs/can.jquery.js +2995 -0
- data/vendor/assets/javascripts/canjs/can.jquery.min.js +52 -0
- data/vendor/assets/javascripts/canjs/can.mootools.js +3462 -0
- data/vendor/assets/javascripts/canjs/can.mootools.min.js +63 -0
- data/vendor/assets/javascripts/canjs/can.observe.attributes.js +293 -0
- data/vendor/assets/javascripts/canjs/can.observe.backup.js +368 -0
- data/vendor/assets/javascripts/canjs/can.observe.delegate.js +359 -0
- data/vendor/assets/javascripts/canjs/can.observe.setter.js +58 -0
- data/vendor/assets/javascripts/canjs/can.observe.validations.js +374 -0
- data/vendor/assets/javascripts/canjs/can.view.modifiers.js +292 -0
- data/vendor/assets/javascripts/canjs/can.yui.js +3530 -0
- data/vendor/assets/javascripts/canjs/can.yui.min.js +65 -0
- data/vendor/assets/javascripts/canjs/can.zepto.js +3426 -0
- data/vendor/assets/javascripts/canjs/can.zepto.min.js +62 -0
- data/vendor/assets/javascripts/twitter/bootstrap-affix.js +104 -0
- data/vendor/assets/javascripts/twitter/bootstrap-alert.js +90 -0
- data/vendor/assets/javascripts/twitter/bootstrap-button.js +96 -0
- data/vendor/assets/javascripts/twitter/bootstrap-carousel.js +176 -0
- data/vendor/assets/javascripts/twitter/bootstrap-collapse.js +158 -0
- data/vendor/assets/javascripts/twitter/bootstrap-dropdown.js +150 -0
- data/vendor/assets/javascripts/twitter/bootstrap-modal.js +239 -0
- data/vendor/assets/javascripts/twitter/bootstrap-popover.js +103 -0
- data/vendor/assets/javascripts/twitter/bootstrap-scrollspy.js +151 -0
- data/vendor/assets/javascripts/twitter/bootstrap-tab.js +135 -0
- data/vendor/assets/javascripts/twitter/bootstrap-tooltip.js +275 -0
- data/vendor/assets/javascripts/twitter/bootstrap-transition.js +60 -0
- data/vendor/assets/javascripts/twitter/bootstrap-typeahead.js +300 -0
- data/vendor/assets/javascripts/twitter/my/bootstrap-typeahead.js +311 -0
- data/vendor/assets/stylesheets/.gitkeep +0 -0
- metadata +470 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
driver = pgsql
|
|
2
|
+
connect = <%= "host=#{host} dbname=#{name} user=#{user} password=#{password}" %>
|
|
3
|
+
|
|
4
|
+
default_pass_scheme = SHA512 # PLAIN-MD5
|
|
5
|
+
|
|
6
|
+
user_query = SELECT \
|
|
7
|
+
'/var/mail/%d/%n/Maildir' AS userdb_home, \
|
|
8
|
+
# 5000 AS uid, 5000 AS gid, \
|
|
9
|
+
CONCAT('*:storage=',quota_kb,':messages=',quota_messages) AS quota_rule \
|
|
10
|
+
FROM virtual_users WHERE email='%u';
|
|
11
|
+
|
|
12
|
+
password_query = SELECT \
|
|
13
|
+
email as user, encrypted_password as password \
|
|
14
|
+
FROM virtual_users WHERE email='%u';
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
postmaster_address = <%= begin;postmaster ;end; %>
|
|
2
|
+
protocols = <%= protocols %> lmtp sieve
|
|
3
|
+
|
|
4
|
+
mail_plugins = quota autocreate
|
|
5
|
+
|
|
6
|
+
##
|
|
7
|
+
## Authentication processes
|
|
8
|
+
##
|
|
9
|
+
|
|
10
|
+
disable_plaintext_auth = <%= begin;disable_plaintext_auth;rescue;'no';end; %>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# XXX
|
|
14
|
+
# Authentication cache size (e.g. 10M). 0 means it's disabled. Note that
|
|
15
|
+
# bsdauth, PAM and vpopmail require cache_key to be set for caching to be used.
|
|
16
|
+
#auth_cache_size = 0
|
|
17
|
+
#auth_cache_ttl = 1 hour
|
|
18
|
+
# TTL for negative hits (user not found, password mismatch).
|
|
19
|
+
# 0 disables caching them completely.
|
|
20
|
+
#auth_cache_negative_ttl = 1 hour
|
|
21
|
+
# XXX
|
|
22
|
+
|
|
23
|
+
#auth_realms =
|
|
24
|
+
#auth_default_realm =
|
|
25
|
+
auth_username_chars = <%= begin;auth_username_chars ;rescue;'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@' ;end; %>
|
|
26
|
+
#auth_username_translation =
|
|
27
|
+
auth_username_format = %Lu
|
|
28
|
+
auth_worker_max_count = <%= begin;auth_worker_max_count ;rescue;'30' ;end; %>
|
|
29
|
+
|
|
30
|
+
# Require a valid SSL client certificate or the authentication fails.
|
|
31
|
+
#auth_ssl_require_client_cert = no
|
|
32
|
+
# XXX
|
|
33
|
+
auth_mechanisms = <%= begin;auth_mechanisms ;rescue;'plain' ;end; %>
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
##
|
|
37
|
+
## Director-specific settings.
|
|
38
|
+
##
|
|
39
|
+
|
|
40
|
+
#service imap-login {
|
|
41
|
+
# executable = imap-login director
|
|
42
|
+
#}
|
|
43
|
+
#service pop3-login {
|
|
44
|
+
# executable = pop3-login director
|
|
45
|
+
#}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## XXX
|
|
50
|
+
## Log destination.
|
|
51
|
+
##
|
|
52
|
+
|
|
53
|
+
# Log file to use for error messages. "syslog" logs to syslog,
|
|
54
|
+
# /dev/stderr logs to stderr.
|
|
55
|
+
log_path = /var/log/dovecot.log
|
|
56
|
+
|
|
57
|
+
# Log file to use for informational messages. Defaults to log_path.
|
|
58
|
+
info_log_path = /var/log/dovecot.info
|
|
59
|
+
# Log file to use for debug messages. Defaults to info_log_path.
|
|
60
|
+
debug_log_path = /var/log/dovecot.debug
|
|
61
|
+
|
|
62
|
+
##
|
|
63
|
+
## Logging verbosity and debugging.
|
|
64
|
+
##
|
|
65
|
+
|
|
66
|
+
# Log unsuccessful authentication attempts and the reasons why they failed.
|
|
67
|
+
auth_verbose = <%= begin;auth_verbose ;rescue;'no' ;end; %>
|
|
68
|
+
|
|
69
|
+
# Even more verbose logging for debugging purposes. Shows for example SQL
|
|
70
|
+
# queries. XXX XXX XXX XXX XXX XXX XXX XXX
|
|
71
|
+
auth_debug = yes
|
|
72
|
+
auth_debug_passwords=yes
|
|
73
|
+
mail_debug = yes
|
|
74
|
+
verbose_ssl = yes
|
|
75
|
+
auth_verbose_passwords=plain
|
|
76
|
+
|
|
77
|
+
login_log_format_elements = user=|%u| method=%m rip=%r lip=%l mpid=%e %c
|
|
78
|
+
|
|
79
|
+
##
|
|
80
|
+
## Mailbox locations and namespaces
|
|
81
|
+
##
|
|
82
|
+
|
|
83
|
+
mail_location = maildir:/var/mail/%d/%n/Maildir:INDEX=/var/mail/%d/%n/indexes
|
|
84
|
+
|
|
85
|
+
namespace inbox {
|
|
86
|
+
# Namespace type: private, shared or public
|
|
87
|
+
type = private
|
|
88
|
+
separator = .
|
|
89
|
+
|
|
90
|
+
#prefix =
|
|
91
|
+
#location =
|
|
92
|
+
inbox = yes
|
|
93
|
+
#hidden = no
|
|
94
|
+
#list = yes
|
|
95
|
+
#subscriptions = yes
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
## TODO
|
|
99
|
+
# System user and group used to access mails. If you use multiple, userdb
|
|
100
|
+
# can override these by returning uid or gid fields. You can use either numbers
|
|
101
|
+
# or names. <doc/wiki/UserIds.txt>
|
|
102
|
+
mail_uid = 8
|
|
103
|
+
mail_gid = 12
|
|
104
|
+
|
|
105
|
+
first_valid_uid = 8
|
|
106
|
+
last_valid_uid = 8
|
|
107
|
+
|
|
108
|
+
first_valid_gid = 12
|
|
109
|
+
last_valid_gid = 12
|
|
110
|
+
|
|
111
|
+
mail_full_filesystem_access = no
|
|
112
|
+
|
|
113
|
+
##
|
|
114
|
+
## Mail processes
|
|
115
|
+
##
|
|
116
|
+
|
|
117
|
+
auth_socket_path = /var/run/dovecot/auth-userdb
|
|
118
|
+
mail_cache_min_mail_count = <%= begin;mail_cache_min_mail_count ;rescue;'0' ;end; %>
|
|
119
|
+
maildir_very_dirty_syncs = yes
|
|
120
|
+
#default_vsz_limit = 256M
|
|
121
|
+
default_internal_user = mail
|
|
122
|
+
|
|
123
|
+
service imap-login {
|
|
124
|
+
inet_listener imap {
|
|
125
|
+
# imap_login__listener__port !!DO NOT REMOVE THIS LINE!!
|
|
126
|
+
port = <%= begin; imap_login__listener__port ;rescue;'143' ;end; %>
|
|
127
|
+
}
|
|
128
|
+
inet_listener imaps {
|
|
129
|
+
# imaps_login__listener__port !!DO NOT REMOVE THIS LINE!!
|
|
130
|
+
port = <%= begin; imaps_login__listener__port ;rescue;'993' ;end; %>
|
|
131
|
+
#ssl = yes
|
|
132
|
+
}
|
|
133
|
+
vsz_limit = $default_vsz_limit
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
service pop3-login {
|
|
137
|
+
inet_listener pop3 {
|
|
138
|
+
# pop3_login__listener__port !!DO NOT REMOVE THIS LINE!!
|
|
139
|
+
port = <%= begin; pop3_login__listener__port ;rescue;'110' ;end; %>
|
|
140
|
+
}
|
|
141
|
+
inet_listener pop3s {
|
|
142
|
+
# pop3s_login__listener__port !!DO NOT REMOVE THIS LINE!!
|
|
143
|
+
port = <%= begin; pop3s_login__listener__port ;rescue;'995' ;end; %>
|
|
144
|
+
ssl = yes
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
service lmtp {
|
|
149
|
+
unix_listener /var/spool/postfix/private/dovecot-lmtp {
|
|
150
|
+
mode = 0600
|
|
151
|
+
user = postfix
|
|
152
|
+
group = postfix
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
service imap {
|
|
157
|
+
#vsz_limit = $default_vsz_limit
|
|
158
|
+
# imap__process_limit !!DO NOT REMOVE THIS LINE!!
|
|
159
|
+
process_limit = <%= begin; imap__process_limit ;rescue;'1024' ;end; %>
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
service pop3 {
|
|
163
|
+
# pop3__process_limit !!DO NOT REMOVE THIS LINE!!
|
|
164
|
+
process_limit = <%= begin; pop3__process_limit ;rescue;'1024' ;end; %>
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
service auth {
|
|
168
|
+
unix_listener auth-userdb {
|
|
169
|
+
mode = 0600
|
|
170
|
+
user = mail
|
|
171
|
+
group = mail
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
# Postfix smtp-auth
|
|
175
|
+
unix_listener /var/spool/postfix/private/auth {
|
|
176
|
+
mode = 0666
|
|
177
|
+
user = postfix
|
|
178
|
+
group = postfix
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
service auth-worker {
|
|
183
|
+
user = $default_internal_user
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
service dict {
|
|
187
|
+
# If dict proxy is used, mail processes should have access to its socket.
|
|
188
|
+
# For example: mode=0660, group=vmail and global mail_access_groups=vmail
|
|
189
|
+
unix_listener dict {
|
|
190
|
+
#mode = 0600
|
|
191
|
+
#user =
|
|
192
|
+
#group =
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
##
|
|
197
|
+
## ManageSieve specific settings
|
|
198
|
+
##
|
|
199
|
+
|
|
200
|
+
service managesieve-login {
|
|
201
|
+
inet_listener sieve {
|
|
202
|
+
port = 4190
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
service managesieve {
|
|
207
|
+
#process_count = 1024
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
##
|
|
211
|
+
## SSL settings
|
|
212
|
+
##
|
|
213
|
+
|
|
214
|
+
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
|
|
215
|
+
ssl = no
|
|
216
|
+
|
|
217
|
+
ssl_cert = </etc/ssl/certs/dovecot.pem
|
|
218
|
+
ssl_key = </etc/ssl/private/dovecot.pem
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
##
|
|
222
|
+
## LDA specific settings (also used by LMTP)
|
|
223
|
+
##
|
|
224
|
+
|
|
225
|
+
quota_full_tempfail = <%= begin;quota_full_tempfail;rescue;'no' ;end; %>
|
|
226
|
+
|
|
227
|
+
# Subject: header to use for rejection mails. You can use the same variables
|
|
228
|
+
# as for rejection_reason below.
|
|
229
|
+
rejection_subject = <%= begin;rejection_subject;rescue;'Rejected: %s' ;end; %>
|
|
230
|
+
# Human readable error message for rejection mails. You can use variables:
|
|
231
|
+
# %n = CRLF, %r = reason, %s = original subject, %t = recipient
|
|
232
|
+
rejection_reason = <%= begin;rejection_reason;rescue;'Your message to %t was automatically rejected:%n%r' ;end; %>
|
|
233
|
+
|
|
234
|
+
#recipient_delimiter = +
|
|
235
|
+
lda_mailbox_autocreate = no
|
|
236
|
+
lda_mailbox_autosubscribe = no
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
# Enable director for LMTP proxying:
|
|
240
|
+
protocol lmtp {
|
|
241
|
+
auth_socket_path = director-userdb
|
|
242
|
+
mail_plugins = $mail_plugins mail_log sieve
|
|
243
|
+
}
|
|
244
|
+
protocol lda {
|
|
245
|
+
mail_plugins = $mail_plugins
|
|
246
|
+
}
|
|
247
|
+
protocol imap {
|
|
248
|
+
mail_plugins = $mail_plugins imap_quota
|
|
249
|
+
}
|
|
250
|
+
protocol pop3 {
|
|
251
|
+
mail_plugins = $mail_plugins
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
##
|
|
255
|
+
## Quota limits
|
|
256
|
+
##
|
|
257
|
+
|
|
258
|
+
plugin {
|
|
259
|
+
quota = maildir:User quota
|
|
260
|
+
quota_rule = *:storage=<%= begin;storage[:size] ;end; %>
|
|
261
|
+
quota_rule2 = Trash:storage=<%= begin;storage[:trash] ;end; %>
|
|
262
|
+
quota_rule3 = Spam:storage=<%= begin;storage[:spam] ;end; %>
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
plugin {
|
|
266
|
+
sieve = ~/.sieve
|
|
267
|
+
sieve_dir = ~/sieve
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
plugin {
|
|
271
|
+
autocreate = INBOX.Trash
|
|
272
|
+
autocreate2 = INBOX.Drafts
|
|
273
|
+
autocreate3 = INBOX.Sent
|
|
274
|
+
autocreate4 = INBOX.Spam
|
|
275
|
+
autosubscribe = INBOX.Trash
|
|
276
|
+
autosubscribe2 = INBOX.Drafts
|
|
277
|
+
autosubscribe3 = INBOX.Sent
|
|
278
|
+
autosubscribe4 = INBOX.Spam
|
|
279
|
+
mail_log_events = delete mailbox_delete
|
|
280
|
+
mail_log_fields = uid box msgid size flags vsize from subject
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
# Authentication for SQL users. Included from auth.conf.
|
|
286
|
+
#
|
|
287
|
+
# <doc/wiki/AuthDatabase.SQL.txt>
|
|
288
|
+
|
|
289
|
+
passdb {
|
|
290
|
+
driver = sql
|
|
291
|
+
args = /etc/dovecot/dovecot-sql.conf.ext
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
userdb {
|
|
295
|
+
driver = sql
|
|
296
|
+
args = /etc/dovecot/dovecot-sql.conf.ext
|
|
297
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
protocols = <%= protocols %> sieve
|
|
2
|
+
|
|
3
|
+
protocol imap {
|
|
4
|
+
mail_plugins = autocreate quota imap_quota
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
protocol pop3 {
|
|
8
|
+
mail_plugins = autocreate quota
|
|
9
|
+
listen = *:110
|
|
10
|
+
ssl_listen = *:995
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
protocol lda {
|
|
14
|
+
auth_socket_path = /var/run/dovecot/auth-master
|
|
15
|
+
postmaster_address = <%= postmaster %>
|
|
16
|
+
mail_plugins = sieve quota
|
|
17
|
+
log_path =
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
ssl = yes
|
|
21
|
+
ssl_cert_file = /etc/ssl/certs/dovecot.pem
|
|
22
|
+
ssl_key_file = /etc/ssl/private/dovecot.pem
|
|
23
|
+
#ssl_parameters_regenerate = 168
|
|
24
|
+
|
|
25
|
+
quota = maildir:User quota
|
|
26
|
+
quota_rule = *:storage=<%= storage[:size] %>
|
|
27
|
+
quota_rule2 = Trash:storage=<%= storage[:trash] %>
|
|
28
|
+
quota_rule = Spam:storage=<%= storage[:spam] %>
|
|
29
|
+
|
|
30
|
+
mail_location = maildir:/var/vmail/%d/%n/Maildir
|
|
31
|
+
|
|
32
|
+
namespace private {
|
|
33
|
+
separator = .
|
|
34
|
+
inbox = yes
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
auth default {
|
|
38
|
+
mechanisms = plain
|
|
39
|
+
passdb sql {
|
|
40
|
+
args = /etc/dovecot/dovecot-sql.conf
|
|
41
|
+
}
|
|
42
|
+
userdb sql {
|
|
43
|
+
args = /etc/dovecot/dovecot-sql.conf
|
|
44
|
+
}
|
|
45
|
+
!include_try /etc/dovecot/auth.d/*.auth
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
auth external {
|
|
49
|
+
socket connect {
|
|
50
|
+
master {
|
|
51
|
+
path = /var/run/dovecot/auth-master
|
|
52
|
+
mode = 0600
|
|
53
|
+
user = vmail
|
|
54
|
+
}
|
|
55
|
+
client {
|
|
56
|
+
path = /var/spool/postfix/private/auth
|
|
57
|
+
mode = 0600
|
|
58
|
+
user = postfix
|
|
59
|
+
group = postfix
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
Home /var/spool/dspam
|
|
2
|
+
OnFail error
|
|
3
|
+
|
|
4
|
+
Trust root
|
|
5
|
+
Trust vmail
|
|
6
|
+
Trust mail
|
|
7
|
+
Trust dspam
|
|
8
|
+
|
|
9
|
+
# send scanned mails via smtp back to postfix
|
|
10
|
+
DeliveryProto SMTP
|
|
11
|
+
DeliveryHost 127.0.0.1
|
|
12
|
+
DeliveryPort 7711 # <%#= delivery_port %>
|
|
13
|
+
DeliveryIdent localhost
|
|
14
|
+
|
|
15
|
+
# run dspam server on socket
|
|
16
|
+
ServerMode auto
|
|
17
|
+
ServerParameters "--deliver=innocent,spam"
|
|
18
|
+
ServerIdent "<%= hostname %>"
|
|
19
|
+
ServerPID /var/run/dspam/dspam.pid
|
|
20
|
+
ServerDomainSocketPath /var/run/dspam/dspam.sock
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
WebStats off
|
|
24
|
+
TrainingMode teft
|
|
25
|
+
TestConditionalTraining on
|
|
26
|
+
Tokenizer chain
|
|
27
|
+
Feature chained
|
|
28
|
+
Feature whitelist
|
|
29
|
+
Feature tb=5
|
|
30
|
+
Algorithm graham burton
|
|
31
|
+
PValue graham
|
|
32
|
+
ImprobabilityDrive on
|
|
33
|
+
|
|
34
|
+
# deliver spam to mailbox (filter it with sieve)
|
|
35
|
+
Preference "spamAction=deliver"
|
|
36
|
+
Preference "signatureLocation=headers" # 'message' or 'headers'
|
|
37
|
+
Preference "showFactors=on"
|
|
38
|
+
Preference "whitelistThreshold=10"
|
|
39
|
+
Preference "statisticalSedation=5"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
AllowOverride trainingMode
|
|
43
|
+
AllowOverride spamAction spamSubject
|
|
44
|
+
AllowOverride statisticalSedation
|
|
45
|
+
AllowOverride enableBNR
|
|
46
|
+
AllowOverride enableWhitelist
|
|
47
|
+
AllowOverride signatureLocation
|
|
48
|
+
AllowOverride showFactors
|
|
49
|
+
AllowOverride optIn optOut
|
|
50
|
+
AllowOverride whitelistThreshold
|
|
51
|
+
|
|
52
|
+
Notifications off
|
|
53
|
+
|
|
54
|
+
#
|
|
55
|
+
# PostgreSQL
|
|
56
|
+
#
|
|
57
|
+
# Socket Method
|
|
58
|
+
#
|
|
59
|
+
PgSQLServer 127.0.0.1
|
|
60
|
+
PgSQLPort <%= database_port %>
|
|
61
|
+
PgSQLUser <%= database_user %>
|
|
62
|
+
PgSQLPass <%= database_pass %>
|
|
63
|
+
PgSQLDb <%= database %>
|
|
64
|
+
PgSQLConnectionCache 30
|
|
65
|
+
PgSQLUIDInSignature on
|
|
66
|
+
|
|
67
|
+
HashRecMax 98317
|
|
68
|
+
HashAutoExtend on
|
|
69
|
+
HashMaxExtents 0
|
|
70
|
+
HashExtentSize 49157
|
|
71
|
+
HashMaxSeek 100
|
|
72
|
+
HashConnectionCache 10
|
|
73
|
+
|
|
74
|
+
#
|
|
75
|
+
# Purge configuration for SQL-based installations using purge.sql
|
|
76
|
+
#
|
|
77
|
+
PurgeSignature 14
|
|
78
|
+
PurgeNeutral 90
|
|
79
|
+
PurgeUnused 90
|
|
80
|
+
PurgeHapaxes 30
|
|
81
|
+
PurgeHits1S 15
|
|
82
|
+
PurgeHits1I 15
|
|
83
|
+
|
|
84
|
+
LocalMX 127.0.0.1
|
|
85
|
+
SystemLog on
|
|
86
|
+
ParseToHeaders on
|
|
87
|
+
ChangeModeOnParse on
|
|
88
|
+
ChangeUserOnParse full
|
|
89
|
+
|
|
90
|
+
#ProcessorBias on
|
|
91
|
+
#UserLog on
|
|
92
|
+
#TrainPristine off
|
|
93
|
+
#Opt out
|
|
94
|
+
#Broken case
|
|
95
|
+
#Broken lineStripping
|
|
96
|
+
|