Почтовый сервер на Debian 9 полная установка: dbmail & postgresql & postfix & stunnel & postgrey& spamassassin: различия между версиями
Материал из support.qbpro.ru
imported>Vix Нет описания правки |
imported>Vix Нет описания правки |
||
| Строка 59: | Строка 59: | ||
* пример рабочего конфигурационного файла: | * пример рабочего конфигурационного файла: | ||
# (c) 2000-2006 IC&S, The Netherlands | |||
# | |||
# Configuration file for DBMAIL | |||
[DBMAIL] | |||
# | |||
# Database settings | |||
# | |||
# database connection URI | |||
#dburi = sqlite:///var/tmp/dbmail.db | |||
# | |||
# Supported drivers are sql, ldap. | |||
# | |||
authdriver = sql | |||
# | |||
# | |||
# following fields are now DEPRECATED! | |||
driver = postgresql | |||
host = 10.0.5.2 | |||
sqlport = 5432 | |||
#sqlsocket = | |||
user = dbmail | |||
pass = dbmailpass | |||
db = mailbasename | |||
# | |||
# Number of database connections per threaded daemon | |||
# This also determines the size of the worker threadpool | |||
# | |||
# Do NOT increase this without proper consideration. A | |||
# very large database/worker pool will not only increase | |||
# the connection pressure on the database, but will more | |||
# significantly cause unnecessary context-switching in | |||
# your CPUs. | |||
# | |||
#max_db_connections = 10 | |||
# | |||
# Table prefix. Defaults to "dbmail_" if not specified. | |||
# | |||
table_prefix = dbmail_ | |||
# | |||
# encoding must match the database/table encoding. | |||
# i.e. latin1, utf8 | |||
encoding = utf8 | |||
# | |||
# messages with unknown encoding will be assumed to have | |||
# default_msg_encoding | |||
# i.e. iso8859-1, utf8 | |||
default_msg_encoding = utf8 | |||
# | |||
# Postmaster's email address for use in bounce messages. | |||
# | |||
#postmaster = DBMAIL-MAILER | |||
# | |||
# Sendmail executable for forwards, replies, notifies, vacations. | |||
# You may use pipes (|) in this command, for example: | |||
# dos2unix|/usr/sbin/sendmail works well with Qmail. | |||
# You may use quotes (") for executables with unusual names. | |||
# | |||
sendmail = /usr/sbin/sendmail | |||
# | |||
# | |||
# The following items can be overridden in the service-specific sections. | |||
# | |||
# | |||
# | |||
# Logging via stderr/log file and syslog | |||
# | |||
# Logging is broken up into 8 logging levels and each level can be indivually turned on or off. | |||
# The Stderr/log file logs all entries to stderr or the log file. | |||
# Syslog logging uses the facility mail and the logging level of the event for logging. | |||
# Syslog can then be configured to log data according to the levels. | |||
# | |||
# Set the log level to the sum of the values next to the levels you want to record. | |||
# 1 = Emergency | |||
# 2 = Alert | |||
# 4 = Critical | |||
# 8 = Error | |||
# 16 = Warning | |||
# 32 = Notice | |||
# 64 = Info | |||
# 128 = Debug | |||
# 256 = Database -> Logs at debug level | |||
# | |||
# Examples: 0 = Nothing | |||
# 31 = Emergency + Alert + Critical + Error + Warning | |||
# 511 = Everything | |||
# | |||
file_logging_levels = 7 | |||
# | |||
syslog_logging_levels = 31 | |||
# | |||
# Generate a log entry for database queries for the log level at number of seconds of query execution time. | |||
# | |||
query_time_info = 10 | |||
query_time_notice = 20 | |||
query_time_warning = 30 | |||
# | |||
# Throw an exception is the query takes longer than query_timeout seconds | |||
query_timeout = 300 | |||
# | |||
# Root privs are used to open a port, then privs | |||
# are dropped down to the user/group specified here. | |||
# | |||
effective_user = dbmail | |||
effective_group = mail | |||
# | |||
# The IPv4 and/or IPv6 addresses the services will bind to. | |||
# Use * for all local interfaces. | |||
# Use 127.0.0.1 for localhost only. | |||
# Separate multiple entries with spaces ( ) or commas (,). | |||
# | |||
bindip = 0.0.0.0 # IPv4 only - all IP's | |||
#bindip = :: # IPv4 and IPv6 - all IP's (linux) | |||
#bindip = :: # IPv6 only - all IP's (BSD) | |||
#bindip = 0.0.0.0,:: # IPv4 and IPv6 - all IP's (BSD) | |||
# | |||
# The maximum length of the queue of pending connections. See | |||
# listen(2) for more information | |||
# | |||
# backlog = 128 | |||
# | |||
# Idle time allowed before a connection is shut off. | |||
# | |||
timeout = 300 | |||
# | |||
# Idle time allowed before a connection is shut off if you have not logged in yet. | |||
# | |||
login_timeout = 60 | |||
# | |||
# If yes, resolves IP addresses to DNS names when logging. | |||
# | |||
resolve_ip = yes | |||
# | |||
# If yes, keep statistics in the authlog table for connecting users | |||
# | |||
authlog = no | |||
# | |||
# logfile for stdout messages | |||
# | |||
logfile = /var/log/dbmail.log | |||
# | |||
# logfile for stderr messages | |||
# | |||
errorlog = /var/log/dbmail.err | |||
# | |||
# directory for storing PID files | |||
# | |||
pid_directory = /var/run/dbmail | |||
# | |||
# directory for locating libraries (normally has a sane default compiled-in) | |||
# | |||
library_directory = /usr/lib/dbmail | |||
# | |||
# SSL/TLS certificates | |||
# | |||
# A file containing a list of CAs in PEM format | |||
tls_cafile = | |||
# A file containing a PEM format certificate | |||
tls_cert = | |||
# A file containing a PEM format RSA or DSA key | |||
tls_key = | |||
# A cipher list string in the format given in ciphers(1) | |||
tls_ciphers = | |||
# hashing algorithm. You can select your favorite hash type | |||
# for generating unique ids for message parts. | |||
# | |||
# for valid values check mhash(3) but minus the MHASH_ prefix. | |||
# | |||
# if you ever change this value run 'dbmail-util --rehash' to | |||
# update the hash for all mimeparts. | |||
# | |||
# examples: MD5, SHA1, SHA256, SHA512, TIGER, WHIRLPOOL | |||
# | |||
# hash_algorithm = SHA1 | |||
# header_cache tuning | |||
# | |||
# set header_cache_readonly to 'yes' to prevent new | |||
# unknown header-names from being cached. | |||
# | |||
# header_cache_readonly = yes | |||
[LMTP] | |||
bindip = 127.0.0.1 | |||
port = 24 | |||
#tls_port = | |||
[POP] | |||
port = 110 | |||
#tls_port = 995 | |||
# You can set an alternate banner to display when connecting to the service | |||
# banner = DBMAIL pop3 server ready to rock | |||
# | |||
# If yes, allows SMTP access from the host IP connecting by POP3. | |||
# This requires addition configuration of your MTA | |||
# | |||
pop_before_smtp = no | |||
[HTTP] | |||
port = 41380 | |||
# | |||
# the httpd daemon provides full access to all users, mailboxes | |||
# and messages. Be very careful with this one! | |||
bindip = 127.0.0.1 | |||
admin = admin:secret | |||
[IMAP] | |||
# You can set an alternate banner to display when connecting to the service | |||
# banner = imap 4r1 server (dbmail 2.3.x) | |||
# | |||
# Port to bind to. | |||
# | |||
port = 143 | |||
##tls_port = 993 | |||
# | |||
# IMAP prefers a longer timeout than other services. | |||
# | |||
timeout = 4000 | |||
# | |||
# If yes, allows SMTP access from the host IP connecting by IMAP. | |||
# This requires addition configuration of your MTA | |||
# | |||
imap_before_smtp = no | |||
# | |||
# during IDLE, how many seconds between checking the mailbox | |||
# status (default: 30) | |||
# | |||
# idle_timeout = 30 | |||
# during IDLE, how often should the server send an '* OK' still | |||
# here message (default: 10) | |||
# | |||
# the time between such a message is idle_timeout * idle_interval | |||
# seconds | |||
# | |||
# idle_interval = 10 | |||
# | |||
# If TLS is enabled, login before starttls is normally | |||
# not allowed. Use login_disabled=no to change this | |||
# | |||
# login_disabled = yes | |||
# | |||
# Provide a CAPABILITY to override the default | |||
# | |||
# capability = IMAP4 IMAP4rev1 AUTH=LOGIN ACL RIGHTS=texk NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE | |||
# max message size. You can specify the maximum message size | |||
# accepted by the IMAP daemon during APPEND commands. | |||
# | |||
# Supported formats: | |||
# decimal: 1000000 | |||
# octal: 03777777 | |||
# hex: 0xfffff | |||
# | |||
# max_message_size = | |||
[SIEVE] | |||
# | |||
# Port to bind to. | |||
# | |||
port = 2000 | |||
tls_port = | |||
[LDAP] | |||
port = 389 | |||
version = 3 | |||
hostname = ldap | |||
base_dn = ou=People,dc=mydomain,dc=com | |||
# | |||
# If your LDAP library supports ldap_initialize(), then you can use the | |||
# alternative LDAP server DSN like following. | |||
# | |||
# URI = ldap://127.0.0.1:389 | |||
# URI = ldapi://%2fvar%2frun%2fopenldap%2fldapi/ | |||
# | |||
# Leave blank for anonymous bind. | |||
# example: cn=admin,dc=mydomain,dc=com | |||
# | |||
bind_dn = | |||
# | |||
# Leave blank for anonymous bind. | |||
# | |||
bind_pw = | |||
scope = SubTree | |||
# AD users may want to set this to 'no' to disable | |||
# ldap referrals if you are seeing 'Operations errors' | |||
# in your logs | |||
# | |||
referrals = yes | |||
user_objectclass = top,account,dbmailUser | |||
forw_objectclass = top,account,dbmailForwardingAddress | |||
cn_string = uid | |||
field_passwd = userPassword | |||
field_uid = uid | |||
field_nid = uidNumber | |||
min_nid = 10000 | |||
max_nid = 15000 | |||
field_cid = gidNumber | |||
min_cid = 10000 | |||
max_cid = 15000 | |||
# a comma-separated list of attributes to match when searching | |||
# for users or forwards that match a delivery address. A match | |||
# on any of them is a hit. | |||
field_mail = mail | |||
# field that holds the mail-quota size for a user. | |||
field_quota = mailQuota | |||
# field that holds the forwarding address. | |||
field_fwdtarget = mailForwardingAddress | |||
# override the query string used to search for users | |||
# or forwards with a delivery address. | |||
# query_string = (mail=%s) | |||
[DELIVERY] | |||
# | |||
# Run Sieve scripts as messages are delivered. | |||
# | |||
SIEVE = yes | |||
# | |||
# Use 'user+mailbox@domain' format to deliver to a mailbox. | |||
# | |||
SUBADDRESS = yes | |||
# | |||
# Turn on/off the Sieve Vacation extension. | |||
# | |||
SIEVE_VACATION = yes | |||
# | |||
# Turn on/off the Sieve Notify extension | |||
# | |||
SIEVE_NOTIFY = yes | |||
# | |||
# Turn on/off additional Sieve debugging. | |||
# | |||
SIEVE_DEBUG = no | |||
# Use the auto_notify table to send email notifications. | |||
# | |||
AUTO_NOTIFY = no | |||
# | |||
# Use the auto_reply table to send away messages. | |||
# | |||
AUTO_REPLY = no | |||
# | |||
# Defaults to "NEW MAIL NOTIFICATION" | |||
# | |||
#AUTO_NOTIFY_SUBJECT = | |||
# | |||
# Defaults to POSTMASTER from the DBMAIL section. | |||
# | |||
#AUTO_NOTIFY_SENDER = | |||
# If you set this to 'yes' dbmail will check for duplicate | |||
# messages in the relevant mailbox during delivery using | |||
# the Message-ID header | |||
# | |||
suppress_duplicates = no | |||
# | |||
# Soft or hard bounce on over-quota delivery | |||
# | |||
quota_failure = hard | |||
# end of configuration file | |||
* перезапуск службы: | * перезапуск службы: | ||
Версия от 17:47, 31 октября 2017
Порядок установки:
- Система Debian Stretch {9}
- Используемый source.list
# deb http://mirror.mephi.ru/debian/ stretch main deb-src http://mirror.mephi.ru/debian/ stretch main deb http://security.debian.org/debian-security stretch/updates main deb-src http://security.debian.org/debian-security stretch/updates main # stretch-updates, previously known as 'volatile' deb http://mirror.mephi.ru/debian/ stretch-updates main deb-src http://mirror.mephi.ru/debian/ stretch-updates main ###### Debian Main Repos deb http://deb.debian.org/debian/ stable main contrib non-free deb-src http://deb.debian.org/debian/ stable main contrib non-free deb http://deb.debian.org/debian/ stable-updates main contrib non-free deb-src http://deb.debian.org/debian/ stable-updates main contrib non-free deb http://deb.debian.org/debian-security stable/updates main contrib non-free deb-src http://deb.debian.org/debian-security stable/updates main contrib non-free deb http://ftp.debian.org/debian stretch-backports main contrib non-free deb-src http://ftp.debian.org/debian stretch-backports main contrib non-free
1. Устанавливаем необходимые пакеты:
apt-get install pkg-config libglib2.0-dev libgmime-2.6-dev libmhash-dev libevent-dev libssl1.0-dev libzdb-dev autoconf automake libtool autotools-dev dpkg-dev fakeroot
2. Скачиваем с dbmail.org исходники:
wget -c -t 0 -T 8 http://www.dbmail.org/download/3.1/dbmail-3.1.17.tar.gz
3. Распаковываем и компилируем:
cp dbmail-3.1.17.tar.gz /usr/local/src tar -xf dbmail-3.1.17.tar.gz /usr/local/src.dbmail-3.1.17 cp dbmail-3.1.17.tar.gz /usr/local/src/dbmail_3.0.2.orig.tar.gz
Готовим пакет к сборке:
cd /usr/local/src/dbmail-3.2.3 ./configure --with-pgsql --prefix=/usr dpkg-source --commit
даем имя, что-то pgsql.commit
cd /usr/local/src/ dpkg-source -b dbmail-3.2.3
cd /usr/local/src/dbmail-3.2.3 dpkg-buildpackage -d
- после того как соберется пакет, копируем себе в архив и ставим.
dpkg -i dbmail_3.2.3-1_amd64.deb
- правим файл конфигурации:
editor /etc/dbmail/dbmail.conf
- пример рабочего конфигурационного файла:
# (c) 2000-2006 IC&S, The Netherlands
#
# Configuration file for DBMAIL
[DBMAIL]
#
# Database settings
#
# database connection URI
#dburi = sqlite:///var/tmp/dbmail.db
#
# Supported drivers are sql, ldap.
#
authdriver = sql
#
#
# following fields are now DEPRECATED!
driver = postgresql
host = 10.0.5.2
sqlport = 5432
#sqlsocket =
user = dbmail
pass = dbmailpass
db = mailbasename
#
# Number of database connections per threaded daemon
# This also determines the size of the worker threadpool
#
# Do NOT increase this without proper consideration. A
# very large database/worker pool will not only increase
# the connection pressure on the database, but will more
# significantly cause unnecessary context-switching in
# your CPUs.
#
#max_db_connections = 10
#
# Table prefix. Defaults to "dbmail_" if not specified.
#
table_prefix = dbmail_
#
# encoding must match the database/table encoding.
# i.e. latin1, utf8
encoding = utf8
#
# messages with unknown encoding will be assumed to have
# default_msg_encoding
# i.e. iso8859-1, utf8
default_msg_encoding = utf8
#
# Postmaster's email address for use in bounce messages.
#
#postmaster = DBMAIL-MAILER
#
# Sendmail executable for forwards, replies, notifies, vacations.
# You may use pipes (|) in this command, for example:
# dos2unix|/usr/sbin/sendmail works well with Qmail.
# You may use quotes (") for executables with unusual names.
#
sendmail = /usr/sbin/sendmail
#
#
# The following items can be overridden in the service-specific sections.
#
#
#
# Logging via stderr/log file and syslog
#
# Logging is broken up into 8 logging levels and each level can be indivually turned on or off.
# The Stderr/log file logs all entries to stderr or the log file.
# Syslog logging uses the facility mail and the logging level of the event for logging.
# Syslog can then be configured to log data according to the levels.
#
# Set the log level to the sum of the values next to the levels you want to record.
# 1 = Emergency
# 2 = Alert
# 4 = Critical
# 8 = Error
# 16 = Warning
# 32 = Notice
# 64 = Info
# 128 = Debug
# 256 = Database -> Logs at debug level
#
# Examples: 0 = Nothing
# 31 = Emergency + Alert + Critical + Error + Warning
# 511 = Everything
#
file_logging_levels = 7
#
syslog_logging_levels = 31
#
# Generate a log entry for database queries for the log level at number of seconds of query execution time.
#
query_time_info = 10
query_time_notice = 20
query_time_warning = 30
#
# Throw an exception is the query takes longer than query_timeout seconds
query_timeout = 300
#
# Root privs are used to open a port, then privs
# are dropped down to the user/group specified here.
#
effective_user = dbmail
effective_group = mail
#
# The IPv4 and/or IPv6 addresses the services will bind to.
# Use * for all local interfaces.
# Use 127.0.0.1 for localhost only.
# Separate multiple entries with spaces ( ) or commas (,).
#
bindip = 0.0.0.0 # IPv4 only - all IP's
#bindip = :: # IPv4 and IPv6 - all IP's (linux)
#bindip = :: # IPv6 only - all IP's (BSD)
#bindip = 0.0.0.0,:: # IPv4 and IPv6 - all IP's (BSD)
#
# The maximum length of the queue of pending connections. See
# listen(2) for more information
#
# backlog = 128
#
# Idle time allowed before a connection is shut off.
#
timeout = 300
#
# Idle time allowed before a connection is shut off if you have not logged in yet.
#
login_timeout = 60
#
# If yes, resolves IP addresses to DNS names when logging.
#
resolve_ip = yes
#
# If yes, keep statistics in the authlog table for connecting users
#
authlog = no
#
# logfile for stdout messages
#
logfile = /var/log/dbmail.log
#
# logfile for stderr messages
#
errorlog = /var/log/dbmail.err
#
# directory for storing PID files
#
pid_directory = /var/run/dbmail
#
# directory for locating libraries (normally has a sane default compiled-in)
#
library_directory = /usr/lib/dbmail
#
# SSL/TLS certificates
#
# A file containing a list of CAs in PEM format
tls_cafile =
# A file containing a PEM format certificate
tls_cert =
# A file containing a PEM format RSA or DSA key
tls_key =
# A cipher list string in the format given in ciphers(1)
tls_ciphers =
# hashing algorithm. You can select your favorite hash type
# for generating unique ids for message parts.
#
# for valid values check mhash(3) but minus the MHASH_ prefix.
#
# if you ever change this value run 'dbmail-util --rehash' to
# update the hash for all mimeparts.
#
# examples: MD5, SHA1, SHA256, SHA512, TIGER, WHIRLPOOL
#
# hash_algorithm = SHA1
# header_cache tuning
#
# set header_cache_readonly to 'yes' to prevent new
# unknown header-names from being cached.
#
# header_cache_readonly = yes
[LMTP]
bindip = 127.0.0.1
port = 24
#tls_port =
[POP]
port = 110
#tls_port = 995
# You can set an alternate banner to display when connecting to the service
# banner = DBMAIL pop3 server ready to rock
#
# If yes, allows SMTP access from the host IP connecting by POP3.
# This requires addition configuration of your MTA
#
pop_before_smtp = no
[HTTP]
port = 41380
#
# the httpd daemon provides full access to all users, mailboxes
# and messages. Be very careful with this one!
bindip = 127.0.0.1
admin = admin:secret
[IMAP]
# You can set an alternate banner to display when connecting to the service
# banner = imap 4r1 server (dbmail 2.3.x)
#
# Port to bind to.
#
port = 143
##tls_port = 993
#
# IMAP prefers a longer timeout than other services.
#
timeout = 4000
#
# If yes, allows SMTP access from the host IP connecting by IMAP.
# This requires addition configuration of your MTA
#
imap_before_smtp = no
#
# during IDLE, how many seconds between checking the mailbox
# status (default: 30)
#
# idle_timeout = 30
# during IDLE, how often should the server send an '* OK' still
# here message (default: 10)
#
# the time between such a message is idle_timeout * idle_interval
# seconds
#
# idle_interval = 10
#
# If TLS is enabled, login before starttls is normally
# not allowed. Use login_disabled=no to change this
#
# login_disabled = yes
#
# Provide a CAPABILITY to override the default
#
# capability = IMAP4 IMAP4rev1 AUTH=LOGIN ACL RIGHTS=texk NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE
# max message size. You can specify the maximum message size
# accepted by the IMAP daemon during APPEND commands.
#
# Supported formats:
# decimal: 1000000
# octal: 03777777
# hex: 0xfffff
#
# max_message_size =
[SIEVE]
#
# Port to bind to.
#
port = 2000
tls_port =
[LDAP]
port = 389
version = 3
hostname = ldap
base_dn = ou=People,dc=mydomain,dc=com
#
# If your LDAP library supports ldap_initialize(), then you can use the
# alternative LDAP server DSN like following.
#
# URI = ldap://127.0.0.1:389
# URI = ldapi://%2fvar%2frun%2fopenldap%2fldapi/
#
# Leave blank for anonymous bind.
# example: cn=admin,dc=mydomain,dc=com
#
bind_dn =
#
# Leave blank for anonymous bind.
#
bind_pw =
scope = SubTree
# AD users may want to set this to 'no' to disable
# ldap referrals if you are seeing 'Operations errors'
# in your logs
#
referrals = yes
user_objectclass = top,account,dbmailUser
forw_objectclass = top,account,dbmailForwardingAddress
cn_string = uid
field_passwd = userPassword
field_uid = uid
field_nid = uidNumber
min_nid = 10000
max_nid = 15000
field_cid = gidNumber
min_cid = 10000
max_cid = 15000
# a comma-separated list of attributes to match when searching
# for users or forwards that match a delivery address. A match
# on any of them is a hit.
field_mail = mail
# field that holds the mail-quota size for a user.
field_quota = mailQuota
# field that holds the forwarding address.
field_fwdtarget = mailForwardingAddress
# override the query string used to search for users
# or forwards with a delivery address.
# query_string = (mail=%s)
[DELIVERY]
#
# Run Sieve scripts as messages are delivered.
#
SIEVE = yes
#
# Use 'user+mailbox@domain' format to deliver to a mailbox.
#
SUBADDRESS = yes
#
# Turn on/off the Sieve Vacation extension.
#
SIEVE_VACATION = yes
#
# Turn on/off the Sieve Notify extension
#
SIEVE_NOTIFY = yes
#
# Turn on/off additional Sieve debugging.
#
SIEVE_DEBUG = no
# Use the auto_notify table to send email notifications.
#
AUTO_NOTIFY = no
#
# Use the auto_reply table to send away messages.
#
AUTO_REPLY = no
#
# Defaults to "NEW MAIL NOTIFICATION"
#
#AUTO_NOTIFY_SUBJECT =
#
# Defaults to POSTMASTER from the DBMAIL section.
#
#AUTO_NOTIFY_SENDER =
# If you set this to 'yes' dbmail will check for duplicate
# messages in the relevant mailbox during delivery using
# the Message-ID header
#
suppress_duplicates = no
#
# Soft or hard bounce on over-quota delivery
#
quota_failure = hard
# end of configuration file
- перезапуск службы:
systemctl restart dbmail
- проверка работы с базой:
dbmail-util -av
- С установкой dbmail пока окончено, следующий этап установка postgesql и настройка для будущей работы.
5. После того как мы настроили базу данных postgresql, создаем пользователя dbmail и базу dbmail
- Создаем пользователя для работы с почтовой базой
createuser -U postgres -P dbmail
- Создаем базу
createdb -U postgres --owner dbmail dbmail
- Вместе с dbmail идут заготовки базы, распаковываем и заливаем:
bunzip2 /usr/share/doc/dbmail-2.2.10/create_tables.pgsql.bz2 psql -U dbmail -d dbmail < /usr/share/doc/dbmail-2.2.10/create_tables.pgsql
- В этом дампе нету таблицы для работы с виртуальными доменами, создадим ее:
CREATE TYPE dtype AS ENUM ( 'LOCAL', 'VIRTUAL', 'RELAY' ); ALTER TYPE public.dtype OWNER TO dbmail; SET default_with_oids = true; CREATE TABLE dbmail_domains ( uid integer NOT NULL, domain character varying(128) NOT NULL, type dtype NOT NULL ); INSERT INTO dbmail_domains (uid, domain, type) VALUES (1, 'example.com', 'LOCAL');
База готова.
Источники:
- Настройка exim+postgresql+dbmail+spamassassin...
- Создание почтовой системы на базе exim, dbmail, amavisd-new и postgresql
- Почтовый сервер на основе реляционной СУБД
- Почтовый сервер с хранением данных в PostgreSQL
- Exim (exim mail mta virtual spam virus clamav freebsd imap postgresql)
- Создание почтовой системы на базе exim, dbmail, amavisd-new и postgresql
- Exim и dbmail
