Sziasztok!
A címben említett dologgal az lenne a problémám, hogy csak mailbox-ba kapom meg a leveleket.
System wide-módon szeretném beállítani a maildir-t, mint a dc_localdelivery='maildir_home' tenné, de itt virtuális userek lennének, Mysql táblában tárolva.
- A következőket már végig csináltam:
CREATE TABLE domains (
userid char(128) NOT NULL default ”,
KEY userid (userid)
) ENGINE=MyISAM;
CREATE TABLE users ( id char(128) NOT NULL default ”, crypt char(128) NOT NULL default ”, clear char(128) NOT NULL default ”, name char(128) NOT NULL default ”, uid int(10) unsigned default ‘8’, gid int(10) unsigned default ‘8’, home char(255) NOT NULL default ”, maildir char(255) NOT NULL default ”, quota char(255) NOT NULL default ”, KEY id (id) ) ENGINE=MyISAM;
INSERT INTO users (id, crypt, clear, name, uid, gid, home, maildir, quota) VALUES (‘johnnie@example.com’, ENCRYPT(‘johnniepass’), ‘johnniepass’, ‘johnnie’, 8, 8, ‘/usr/local/vdomains/example.com/users/johnnie’, ‘/usr/local/vdomains/example.com/users/johnnie/Maildir/’, ”);
Itt különösen ügyeltem a Maildir/-re.
Configuring Courier
File: /etc/courier/authdaemonrc
Set: authmodulelist="authmysql"
File: /etc/courier/authmysqlrc
Set:
MYSQL_SERVER localhost
MYSQL_USERNAME mail
MYSQL_PASSWORD secret
MYSQL_SOCKET /var/run/mysqld/mysqld.sock
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD crypt
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD id
MYSQL_HOME_FIELD home
MYSQL_NAME_FIELD name
Ezek is rendben lennének.
A domaineket még jól kezeli:
domainlist local_domains = localhost:january.randomsequence.com:mysql;SELECT userid FROM domains WHERE userid='$domain';
A virtuális usereket beállítottam.
New File: /etc/exim4/conf.d/router/999_exim4-config_mysql_user
virtual_user:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{ SELECT maildir FROM users WHERE id='${local_part}@${domain}' }}
directory_transport = address_directory
virtual_catchall_user:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{ SELECT maildir FROM users WHERE id='*@${domain}' }}
directory_transport = address_directory
És ezt is beállítottam, természetesen a saját adataimmal.
Edit File: /etc/exim4/conf.d/transport/35_exim4-config_address_directory
This transport is used for handling file addresses generated by alias
or .forward files if the path ends in "/", which causes it to be treated
as a directory name rather than a file name.
address_directory:
debug_print = "T: address_directory for $local_part@$domain"
driver = appendfile
envelope_to_add = true
return_path_add = true
check_string = ""
escape_string = ""
maildir_format = true
mode = 0600
ser = mail
group = mail
Mindemellett még a config-maildir-home-ban a
directory = /var/vmail/${domain}/${local_part}/Maildir/ is be lett állítva.
És mégis mailboxba kapom a leveleket.
Vajon mit kell még megadnom?
A mysql_servers is be van állítva.
- 1086 megtekintés
Hozzászólások
Már meg is lett oldva.
Az user amivel próbáltam lokális user is volt.
Azért meghagyom, hátha valaki hasznát veszi!
- A hozzászóláshoz be kell jelentkezni