On Fri, 12 Jul 2002, Razvan Cosma wrote:
CREATE DATABASE postfix;
USE postfix
CREATE TABLE alias (
id int(11) NOT NULL auto_increment,
alias varchar(128) NOT NULL default '',
destination varchar(128) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE relocated (
id int(11) NOT NULL auto_increment,
email varchar(128) NOT NULL default '',
destination varchar(128) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE transport (
id int(11) NOT NULL auto_increment,
domain varchar(128) NOT NULL default '',
destination varchar(128) NOT NULL default '',
PRIMARY KEY (id),
UNIQUE KEY domain (domain)
) TYPE=MyISAM;
CREATE TABLE users (
id int(11) NOT NULL auto_increment,
email varchar(128) NOT NULL default '',
clear varchar(128) NOT NULL default '',
crypt varchar(128) NOT NULL default '',
name tinytext NOT NULL default '',
domain varchar(128) NOT NULL default '',
uid int(11) NOT NULL default '1000',
gid int(11) NOT NULL default '1000',
homedir tinytext NOT NULL,
maildir tinytext NOT NULL,
imapok tinyint(3) unsigned NOT NULL default '1',
quota tinytext NOT NULL,
postfix enum('Y','N') NOT NULL default 'Y',
fullname varchar(128) default '',
PRIMARY KEY (id),
UNIQUE KEY email (email),
UNIQUE KEY id (id)
) TYPE=MyISAM;
CREATE TABLE virtual (
id int(11) NOT NULL auto_increment,
email varchar(128) NOT NULL default '',
destination varchar(128) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE domains (
domain_name char(255) DEFAULT '',
path_prefix char(255) DEFAULT '' NOT NULL,
uid int(10) unsigned DEFAULT '15000' NOT NULL,
gid int(10) unsigned DEFAULT '15000' NOT NULL,
quota char(255) DEFAULT '2000000' NOT NULL,
KEY domain_name (domain_name(255))
);
/etc/courier-imap/authmysql
MYSQL_SERVER localhost
MYSQL_USERNAME userultau
MYSQL_PASSWORD passwordul_pe_care_l-ai_pus
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_OPT 0
MYSQL_DATABASE postfix
MYSQL_USER_TABLE users
MYSQL_CLEAR_PWFIELD clear
DEFAULT_DOMAIN medianets.it
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD name
MYSQL_HOME_FIELD homedir
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD quota
MYSQL_SELECT_CLAUSE SELECT \
users.name, users.crypt, users.clear, \
users.uid, users.gid, \
users.homedir, \
'', users.quota, '' \
FROM users \
WHERE users.domain='$(domain)' \
AND users.name='$(local_part)'
#cat /etc/courier-imap/auhdaemon
authmodulelist="authmysql authpam"
authmodulelistorig="authcustom authcram authuserdb authldap authpgsql authmysql
authpam"
daemons=5
version=""
authdaemonvar=/var/lib/authdaemon
#cat /etc/sysconfig/authdaemon
METHOD=mysql
#postconf -n
access_map_reject_code = 554
alias_database = hash:/etc/mail/db/aliases
alias_maps = mysql:/etc/mail/acl/mysql-aliases.cf
biff = no
body_checks = regexp:/etc/mail/db/body_checks
bounce_size_limit = 50000
command_directory = /usr/sbin
config_directory = /etc/mail
daemon_directory = /usr/lib/postfix
debug_peer_level = 1
debug_peer_list = 127.0.0.1
default_destination_concurrency_limit = 10
default_privs = nobody
default_process_limit = 50
deliver_lock_attempts = 5
deliver_lock_delay = 1s
disable_dns_lookups = no
fallback_transport = maildrop
fast_flush_domains = $relay_domains
forward_path = $home/.forward$recipient_delimiter$extension,$home/.forward
header_checks = regexp:/etc/mail/db/header_checks
home_mailbox = Maildir/
hopcount_limit = 50
import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY
inet_interfaces = all
mail_name = Medianets.It on Linux (sparc64)
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailbox_command = /usr/bin/procmail -o -a $DOMAIN -d $LOGNAME
mailbox_transport = procmail
message_size_limit = 20480000
mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.$mydomain,
www.$mydomain, ftp.$mydomain, maffessanti.it, papajoespub.it, holdmann.ro,
misu.eu.org, ns2.medianets.it, server.medianets.it, localhost,
localhost.localdomain
mydomain = medianets.it
myhostname = server.medianets.it
mynetworks = 192.168.0.1/24, 127.0.0.0/8, 80.206.94.64/28 127.0.0.1
myorigin = $myhostname
prepend_delivered_header = command, file, forward
queue_directory = /var/spool/postfix
readme_directory = no
recipient_delimiter = +
reject_code = 554
relay_domains = $mydestination
relay_domains_reject_code = 550
relocated_maps = mysql:/etc/mail/acl/mysql-relocated.cf
require_home_directory = yes
setgid_group = maildrop
smtp_mail_timeout = 300s
smtp_rcpt_timeout = 300s
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Misu Linux)
smtpd_soft_error_limit = 10
soft_bounce = yes
stale_lock_time = 500s
swap_bangpath = yes
transport_maps = mysql:/etc/mail/acl/mysql-transport.cf
transport_retry_time = 60s
undisclosed_recipients_header = To: undisclosed-recipients:;
unknown_address_reject_code = 450
unknown_client_reject_code = 450
unknown_hostname_reject_code = 450
virtual_gid_maps = mysql:/etc/mail/acl/mysql-virtual-gid.cf
virtual_mailbox_base = /
virtual_mailbox_maps = mysql:/etc/mail/acl/mysql-virtual-maps.cf
virtual_maps = mysql:/etc/mail/acl/mysql-virtual.cf
virtual_uid_maps = mysql:/etc/mail/acl/mysql-virtual-uid.cf
#mysql-aliases.cf
user = userul_de_access_la_mysql
password = passwordul_de_access_la_mysql
dbname = postfix
table = alias
select_field = destination
where_field = alias
hosts = localhost
#mysql-realocated.cf
user = userul_de_access_la_mysql
password = passwordul_de_access_la_mysql
dbname = postfix
table = relocated
select_field = destination
where_field = email
hosts = localhost
#mysql-transport.cf
user = userul_de_access_la_mysql
password = passwordul_de_access_la_mysql
dbname = postfix
table = transport
select_field = destination
where_field = domain
hosts = localhost
#mysql-virtual-gif.cf
user = userul_de_access_la_mysql
password = passwordul_de_access_la_mysql
dbname = postfix
table = users
select_field = gid
where_field = email
additional_conditions = and postfix = 'Y'
hosts = localhost
#mysql-virtual-maps.cf
user = userul_de_access_la_mysql
password = passwordul_de_access_la_mysql
dbname = postfix
table = users
select_field = maildir
where_field = email
additional_conditions = and postfix = 'Y'
hosts = localhost
#mysql-virtual-uid.cf
user = userul_de_access_la_mysql
password = passwordul_de_access_la_mysql
dbname = postfix
table = users
select_field = uid
where_field = email
additional_conditions = and postfix = 'Y'
hosts = userul_de_access_la_mysql
#mysql-virtual.cf
user = userul_de_access_la_mysql
password = passwordul_de_access_la_mysql
dbname = postfix
table = virtual
select_field = destination
where_field = email
hosts = localhost
#mysql-quota,cf
user = userul_de_access_la_mysql
password = passwordul_de_access_la_mysql
dbname = postfix
table = users
select_field = quota
where_field = email
additional_conditions = and postfix = 'Y'
hosts = localhost
Inca nu am rezolvat problema cu procmail-ul sau maildrop-ul sa asculte si
de userii din sql. Daca reusesti sa o rezolvi tu nu uita sa ma anunti si
pe mine.
PS1: Chestia asta e functionabila si nu zic ca e 80% perfecta (poate am
mai gresit si eu pe undeva)
PS2: ai sa dai tu o berica intr-o zi!!!!
PS3: De miine vad 98% din sendmail-isti trecuti pe postfix!
Sporuri si multa bafta
--
best regards,
("`-''-/").___..--''"`-._ (\
Mihai Ichim `6_ 6 ) `-. ( ).`-.__.`)
mailto: [EMAIL PROTECTED] (_Y_.)' ._ ) `._ `. ``-..-'
http://www.medianets.it _..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'
*************************************************
M E D I A N E T S
WWW : http://www.medianets.it
Email : [EMAIL PROTECTED]
NOI SIAMO LA SOLUTIONE !
*************************************************
---
Pentru dezabonare, trimiteti mail la
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/