Mr-Pi
Anmeldungsdatum: 25. Februar 2011
Beiträge: 38
Wohnort: /home/mrpi
|
Moin Zusammen,
ich habe mir gerade einen Mail-Server mit Exim als MTA und MySQL zur User Verwaltung eingerichtet. Nun versuche ich vergebens mir einen Imap-Server Einzurichten, der mit mbox statt mit Maildir arbeitet.
Doch irgendwie komme ich nicht weiter, naja hier auf alle Fälle mal die Interessanten Daten:
MySQL-Datenbank: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 | SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
-- Database: `exim`
-- Passwd: `exim`
CREATE TABLE `aliases_domain1.com` (
`name` tinytext NOT NULL,
`redirect_to` tinytext NOT NULL
);
INSERT INTO `aliases_domain1.com` (`name`, `redirect_to`) VALUES
('Admin', 'user@domain1.com');
CREATE TABLE `aliases_domain2.de` (
`name` tinytext NOT NULL,
`redirect_to` tinytext NOT NULL
);
INSERT INTO `aliases_domain2.de` (`name`, `redirect_to`) VALUES
('mm', 'user@domain2.de'),
('das', 'user@domain2.de'),
('klaus', 'user@domain2.de');
CREATE TABLE `local_domains` (
`domain` tinytext NOT NULL
);
INSERT INTO `local_domains` (`domain`) VALUES
('localhost'),
('domain1.com'),
('domain2.de');
CREATE TABLE `users_domain1.com` (
`user_name` tinytext NOT NULL,
`passwd` tinytext NOT NULL
);
INSERT INTO `users_domain1.com` (`user_name`, `passwd`) VALUES
('user', 'pass');
CREATE TABLE `users_domain2.de` (
`user_name` tinytext NOT NULL,
`passwd` tinytext NOT NULL
);
INSERT INTO `users_domain2.de` (`user_name`, `passwd`) VALUES
('user', 'pass123'),
('franz', '123franz');
|
Exim Config: hide mysql_servers = localhost/exim/exim/exim
DOMAIN_QUERY = select `domain` from `local_domains` where `domain` = \
'${quote_mysql:$domain}'
PASSPL_QUERY = select `user_name` from `users_$domain` where `user_name` = \
'${quote_mysql:$auth2}' and `passwd` = '${quote_mysql:$auth3}'
PASSLO_QUERY = select `user_name` from `users_$domain` where `user_name` = \
'${quote_mysql:$auth1}' and `passwd` = '${quote_mysql:$auth2}'
PASSMD_QUERY = select `passwd` from `users_$domain` where `user_name` = \
'${quote_mysql:$auth1}'
ALIAS_QUERY = select `redirect_to` from `aliases_$domain` where `name` = \
'${quote_mysql:$local_part}'
USERS_QUERY = select `user_name` from `users_$domain` where `user_name` = \
'${quote_mysql:$local_part}'
domainlist local_domains = ${lookup mysql{DOMAIN_QUERY}}
domainlist relay_to_domains = mrpi-home.dyndns.org
hostlist relay_from_hosts = localhost:127.0.0.0/8
#tls
tls_advertise_hosts = *
tls_certificate = /etc/exim4/exim.crt
tls_privatekey = /etc/exim4/exim.key
.include /etc/exim4/inc.conf
begin routers
extern:
driver = dnslookup
domains = ! +local_domains
transport = extern
no_more
aliases:
driver = redirect
data = ${lookup mysql{ALIAS_QUERY}}
file_transport = address_file
pipe_transport = address_pipe
# no_more
intern:
driver = accept
# check_local_user
condition = ${lookup mysql{USERS_QUERY}}
retry_use_local_part
transport = intern
no_more
begin transports
extern:
driver = smtp
interface =
intern:
driver = appendfile
user = mail
group = mail
mode = 660
file = /mail/$domain/$local_part/$local_part
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
begin authenticators
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{PASSPL_QUERY}{yes}{no}}
server_prompts = :
server_set_id = $auth2
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{PASSLO_QUERY}{yes}{no}}
server_prompts = Username:: : Passwd::
server_set_id = $auth1
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{PASSMD_QUERY}{$value}fail}
server_set_id = $auth2 Dovecot: base_dir = /var/run/dovecot
protocols = imap imaps
listen = *
shutdown_clients = yes
mail_debug = yes
mbox_very_dirty_syncs = yes
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = no
auth_worker_max_count = 30
auth default {
mechanisms = plain
passdb pam {
}
passdb sql {
args = /etc/dovecot-sql.conf
}
userdb static {
}
user = mail
count = 2
} und /etc/dovecot-sql.conf driver = mysql
connect = host=127.0.0.1 dbname=exim user=exim password=exim
default_pass_scheme = PLAIN
password_query = SELECT password FROM users_%d WHERE username='%n'
user_query = Bis jetzt tut auch alles, eben alles außer Dovecot. Für guten Rat wäre ich dankbar.
PS: Maildir kommt für mich nicht in Frage 😉 .
Mit freundlichen Grüßen Mr. Pi
|
nbkr
Anmeldungsdatum: 29. Oktober 2007
Beiträge: 1936
Wohnort: Aschaffenburg
|
Was sagt Dovecot denn in den Logs? Welche Fehlermeldungen erhälst du, was genau funktioniert nicht (Zustellung der E-Mails in die Mbox oder Abrufen der Daten, etc. pp).
|
Mr-Pi
(Themenstarter)
Anmeldungsdatum: 25. Februar 2011
Beiträge: 38
Wohnort: /home/mrpi
|
nbkr schrieb: Was sagt Dovecot denn in den Logs?
Ebenfalls ein Problem, eben genau 0. Welche Fehlermeldungen erhälst du, was genau funktioniert nicht (Zustellung der E-Mails in die Mbox oder Abrufen der Daten, etc. pp).
Also wie gesagt, Exim stellt die Mails wie gewollt zu und tut auch mit der Autorisierung. Das Problem liegt höchstwahrscheinlich bei Dovecot, das heißt, das ich die Mails nicht abgerufen bekomme.
Mit freundlichen Grüßen, Mr. Pi
|
xabbuh
Anmeldungsdatum: 25. Mai 2006
Beiträge: 6411
|
Zeig bitte mal eine beispielhafte Zustellung einer E-Mail in den Logs. Welche Ausgabe gibt sudo netstat -tlpen? Was für eine Fehlermeldung bekommst du, wenn du E-Mails abrufen möchtest?
|
Mr-Pi
(Themenstarter)
Anmeldungsdatum: 25. Februar 2011
Beiträge: 38
Wohnort: /home/mrpi
|
xabbuh schrieb: Zeig bitte mal eine beispielhafte Zustellung einer E-Mail in den Logs.
Was möchtest du da genau sehen?
Welche Ausgabe gibt sudo netstat -tlpen? Was für eine Fehlermeldung bekommst du, wenn du E-Mails abrufen möchtest?
also netstat -tlpen gibt: Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 0 1192257262 6089/dovecot
tcp 0 0 0.0.0.0:1347 0.0.0.0:* LISTEN 0 1035785644 3763/sshd
tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN 109 1131278629 20873/amavisd (mast
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 105 1035787327 3964/mysqld
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 0 1192257261 6089/dovecot
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 1131770945 4910/apache2
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 0 1162034597 6503/exim4
aus, also für mich sieht das so OK aus oder?
Edit: Beim Abrufen via fetchmail erhalte ich diesen Fehler: fetchmail: Server CommonName mismatch: vs314.dus2.alvotech.de != mr-pi.de
fetchmail: Server certificate verification error: self signed certificate
fetchmail: Authorization failure on mrpi@mr-pi.de@mr-pi.de
fetchmail: Query status=3 (AUTHFAIL)
Mit freundlichen Grüßen, Mr. Pi
|
xabbuh
Anmeldungsdatum: 25. Mai 2006
Beiträge: 6411
|
Mr-Pi schrieb: xabbuh schrieb: Zeig bitte mal eine beispielhafte Zustellung einer E-Mail in den Logs.
Was möchtest du da genau sehen?
Alles vom Verbindungsaufbau des Clients bis zur Zustellung der E-Mail.
[...]
aus, also für mich sieht das so OK aus oder?
Und welche Fehlermeldung gibt dir dein Client?
|
Mr-Pi
(Themenstarter)
Anmeldungsdatum: 25. Februar 2011
Beiträge: 38
Wohnort: /home/mrpi
|
xabbuh schrieb: Mr-Pi schrieb: xabbuh schrieb: Zeig bitte mal eine beispielhafte Zustellung einer E-Mail in den Logs.
Was möchtest du da genau sehen?
Alles vom Verbindungsaufbau des Clients bis zur Zustellung der E-Mail.
OK: Das senden via telnet sieht so aus:
> telnet mr-pi.de 25
Trying 81.88.24.109...
Connected to mr-pi.de.
Escape character is '^]'.
220 vs314.dus2.alvotech.de ESMTP Exim 4.72 Sun, 29 May 2011 14:12:19 +0200
helo localhost
250 vs314.dus2.alvotech.de Hello localhost [78.42.148.57]
mail from: mrpi@localhost
250 OK
rcpt to: mrpi@mr-pi.de
250 Accepted
data
354 Enter message, ending with "." on a line by itself
Hallo das ist ein Test.
1
2
3
Test
Test
Test
.
250 OK id=1QQerq-0005cD-Hm
quit
221 vs314.dus2.alvotech.de closing connection
Connection closed by foreign host.
Der Exim mainlog sagt: […]
2011-05-29 14:13:35 1QQerq-0005cD-Hm <= mrpi@localhost H=(localhost) [78.42.148.57] P=smtp S=249
2011-05-29 14:13:35 1QQerq-0005cD-Hm => mrpi <mrpi@mr-pi.de> R=intern T=intern
2011-05-29 14:13:35 1QQerq-0005cD-Hm Completed […]
Und welche Fehlermeldung gibt dir dein Client?
Siehe Edit.
|
Roger_Wilco
Anmeldungsdatum: 11. August 2010
Beiträge: Zähle...
|
Du hast deinem Dovecot nirgendwo gesagt, unter welchem Pfad er die mbox-Dateien findet und /mail/… ist nicht der Standardpfad, unter dem gesucht wird. Das Datenbankschema ist übrigens auch grausig. Mach dich mal über Normalisierung schlau.
|
Mr-Pi
(Themenstarter)
Anmeldungsdatum: 25. Februar 2011
Beiträge: 38
Wohnort: /home/mrpi
|
Roger Wilco schrieb: Du hast deinem Dovecot nirgendwo gesagt, unter welchem Pfad er die mbox-Dateien findet und /mail/… ist nicht der Standardpfad, unter dem gesucht wird.
Oh, da hast du Recht.
Wie teile ich das den Dovecot mit?
Das Datenbankschema ist übrigens auch grausig. Mach dich mal über Normalisierung schlau.
Naja, ich denke 1., das ist Geschmackssache und 2. die Database habe ich so bekommen und soll das Schema auch nicht ändern. Trotzdem super dank für das erkennen des Fehlers.
Mit freundlichen Grüßen, Mr. Pi
|
Roger_Wilco
Anmeldungsdatum: 11. August 2010
Beiträge: 224
|
Mr-Pi schrieb: Wie teile ich das den Dovecot mit?
Zum Beispiel indem du mail_location korrekt setzt. Details findest du unter http://wiki.dovecot.org/MailLocation/Mbox
|
Mr-Pi
(Themenstarter)
Anmeldungsdatum: 25. Februar 2011
Beiträge: 38
Wohnort: /home/mrpi
|
Roger Wilco schrieb: Mr-Pi schrieb: Wie teile ich das den Dovecot mit?
Zum Beispiel indem du mail_location korrekt setzt. Details findest du unter http://wiki.dovecot.org/MailLocation/Mbox
OK, erledigt, der Erfolg bleibt aber trotzdem aus.
|
xabbuh
Anmeldungsdatum: 25. Mai 2006
Beiträge: 6411
|
Der Fehlermeldung von fetchmail nach zu urteilen, sind dort nicht die korrekten Zugangsdaten hinterlegt (Authorization failure on mrpi@mr-pi.de@mr-pi.de).
|
Mr-Pi
(Themenstarter)
Anmeldungsdatum: 25. Februar 2011
Beiträge: 38
Wohnort: /home/mrpi
|
xabbuh schrieb: Der Fehlermeldung von fetchmail nach zu urteilen, sind dort nicht die korrekten Zugangsdaten hinterlegt (Authorization failure on mrpi@mr-pi.de@mr-pi.de).
Hem, die Login Daten müssten simmen. Jedenfalls stehen Sie so in der MySql-Database und und ich kann mich mit diesen auch Problemlos via exim einloggen.
Das der Login via imap net tut, würde ich mal auf die Datei "/etc/dovecot-sql.conf" schieben. Diese sieht inzwischen so aus: driver = mysql
connect = host=127.0.0.1 dbname=exim user=exim password=exim
default_pass_scheme = PLAIN
password_query = SELECT passwd FROM users_%d WHERE user_name='%n'
user_query =
Mit freundlichen Grüßen, Mr. Pi
|
Roger_Wilco
Anmeldungsdatum: 11. August 2010
Beiträge: 224
|
Mr-Pi schrieb: OK, erledigt, der Erfolg bleibt aber trotzdem aus.
Da du nun die URL zur Dovecot-Dokumentation in deren Wiki kennst, kannst du dein neu erworbenes Wissen gleich anwenden und versuchen, den Dovecot etwas gesprächiger zu machen, damit du nicht raten musst, warum es nicht funktioniert.
|