lokaler POP-Abruf funktioniert nicht

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
stefan2412
Posts: 4
Joined: 2005-02-20 21:43

lokaler POP-Abruf funktioniert nicht

Post by stefan2412 » 2005-02-20 22:38

Hallo,

ich habe mir vor ein paar Tagen einen dedicated Rootserver bei Alturo gemietet, aber leider gibts beim Mailabruf über POP3 Probleme:
Ich habe auf dem Server ein PHP-Skript (b1gmail, Version 5) installiert, das Mails aus einem POP3-Postfach, das auf dem selben Server ist, abrufen soll. Das klappt aber leider nicht... In der mail.log steht Folgendes:

Code: Select all

Feb 20 22:01:18 server2 popper[10915]: I/O error flushing output to client  at serverX.domain.net [217.160.XXX.XXX]: Operation not permitted (1) [pop_send.c:689]
Feb 20 22:01:19 server2 popper[10926]: OpenSSL error during handshake [pop_tls_openssl.c:562]
Feb 20 22:01:19 server2 popper[10926]: ...SSL error: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca [pop_tls_openssl.c:562]
Feb 20 22:01:19 server2 popper[10926]: (null) at serverX.domain.net (217.160.XXX.XXX): -ERR POP EOF or I/O Error [popper.c:820]
Feb 20 22:01:19 server2 popper[10926]: I/O error flushing output to client  at serverX.domain.net [217.160.XXX.XXX]: Operation not permitted (1) [pop_send.c:689]
Feb 20 22:01:19 server2 popper[10926]: I/O error flushing output to client  at serverX.domain.net [217.160.XXX.XXX]: Operation not permitted (1) [pop_send.c:689]
Feb 20 22:01:19 server2 popper[10933]: OpenSSL error during handshake [pop_tls_openssl.c:562]
Feb 20 22:01:19 server2 popper[10933]: ...SSL error: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca [pop_tls_openssl.c:562]
Feb 20 22:01:19 server2 popper[10933]: (null) at serverX.domain.net (217.160.XXX.XXX): -ERR POP EOF or I/O Error [popper.c:820]
Feb 20 22:01:19 server2 popper[10933]: I/O error flushing output to client  at serverX.domain.net [217.160.XXX.XXX]: Operation not permitted (1) [pop_send.c:689]
Anstatt serverX.domain.net steht der Hostname des Servers drin.
Wenn ich das Skript auf einem anderen Server installiere und es von dort das POP3-Postfach auf diesem Server abruft, funktioniert es. Ich kann die Mails aus diesem Postfach auch mit meinem Mailprogramm abrufen. Das auf diesem Server installierte Skript kann auch mails von anderen POP3-Postfächern auf anderen Servern abrufen. Nur wenn es auf diesem Server liegt und ein Postfach von diesem Server abrufen soll, klappt es nicht.
Als Mailserver verwende ich Postfix 2.0.19 mit qpopper. Das Betriebsystem ist SUSE 9.1 und außerdem ist auf dem Server noch Confixx 3.0.6 installiert. Php-Safe-Mode ist aus. Verändert hab ich seit dem ich den Server bekommen hab eigentlich nicht viel. Nur Confixx hab ich von 3.0.4 auf 3.0.6 upgedated und Webmin hab ich zusätzlich installiert. Außerdem hab ich noch die Hostnmamen in etc/hosts und in Postfix geändert.
Wie kann ich das hinbekommen, dass das Php-Skript auch mail von lokalen Postfächern abrufen kann? Ich hoffe, dass mir jemand weiterhelfen kann... Die Forumssuche und Google hab ich schon benutzt aber nichts Passendes gefunden..

Viele Grüße,
Stefan

hier noch die main.cf und die master von Postfix (die meisten Zeilen, die mit # beginnen, hab ich weggelassen):

main.cf

Code: Select all

command_directory = /usr/sbin

daemon_directory = /usr/lib/postfix

default_privs = autoresponder

unknown_local_recipient_reject_code = 450

debug_peer_level = 2

debugger_command =
	 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
	 xxgdb $daemon_directory/$process_name $process_id & sleep 5


sendmail_path = /usr/sbin/sendmail

newaliases_path = /usr/bin/newaliases

mailq_path = /usr/bin/mailq

setgid_group = maildrop

manpage_directory = /usr/share/man

sample_directory = /usr/share/doc/packages/postfix/samples

readme_directory = /usr/share/doc/packages/postfix/README_FILES
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual, hash:/etc/postfix/confixx_virtualUsers, hash:/etc/postfix/confixx_localDomains
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
myhostname = serverX.domain.net
masquerade_domains = 
defer_transports = 
disable_dns_lookups = no
mailbox_command = /usr/bin/procmail
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions = 
smtpd_helo_required = no
smtpd_helo_restrictions = 
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtp_use_tls = no
alias_maps = hash:/etc/aliases
mailbox_size_limit = 0
message_size_limit = 10240000

#SMTPD Auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

#TLS Support
smtpd_use_tls = yes
#smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/postfix/key.pem
smtpd_tls_cert_file = /etc/postfix/cert.pem
smtpd_tls_CAfile = /etc/ssl/certs/aXXXXXXX.alturo-server.de-sample-ca.crt
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

mydestination = serverX.domain.net, localhost.serverX.domain.net, localhost
master.cf

Code: Select all

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp	  inet	n	-	n	-	-	smtpd
smtps	  inet	n	-	n	-	-	smtpd
  -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission	inet	n	-	n	-	-	smtpd
#  -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
#628	  inet	n	-	n	-	-	qmqpd
pickup	  fifo	n	-	n	60	1	pickup
cleanup	  unix	n	-	n	-	0	cleanup
qmgr	  fifo	n	-	n	300	1	qmgr
#qmgr	  fifo	n	-	n	300	1	nqmgr
#tlsmgr   fifo  -       -       n       300     1       tlsmgr
rewrite	  unix	-	-	n	-	-	trivial-rewrite
bounce	  unix	-	-	n	-	0	bounce
defer	  unix	-	-	n	-	0	bounce
flush	  unix	n	-	n	1000?	0	flush
proxymap  unix	-	-	n	-	-	proxymap
smtp	  unix	-	-	n	-	-	smtp
#relay	  unix	-	-	n	-	-	smtp
#	-o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix	n	-	n	-	-	showq
error     unix	-	-	n	-	-	error
local	  unix	-	n	n	-	-	local
virtual	  unix	-	n	n	-	-	virtual
lmtp	  unix	-	-	n	-	-	lmtp
#localhost:10025 inet	n	-	n	-	-	smtpd -o content_filter=
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
#maildrop  unix  -       n       n       -       -       pipe
#  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
cyrus	  unix	-	n	n	-	-	pipe
  user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
uucp	  unix	-	n	n	-	-	pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
vscan     unix  -       n       n       -       10       pipe
  user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
procmail  unix  -       n       n       -       -       pipe
  flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
relay	  unix	-	-	n	-	-	smtp
trace	  unix	-	-	n	-	0	bounce
verify	  unix	-	-	n	-	1	verify
anvil	  unix	-	-	n	-	1	anvil

jaky
Posts: 141
Joined: 2003-03-23 13:04
Location: Cambrils (E)

Re: lokaler POP-Abruf funktioniert nicht

Post by jaky » 2005-02-22 16:25

Ich bin mir da nicht Tausendprozentig sicher, aber vieleicht versuchst Du die hier mal.

masquerade_classes = envelope_sender, header_sender, header_recipient
myhostname = xxxxx.xxxxxxxxxxx.net
program_directory = /usr/lib/postfix
inet_interfaces = all
masquerade_domains =
mydestination = $myhostname, localhost.$mydomain
defer_transports =
disable_dns_lookups = no
relayhost =

Und das hier:

smtpd_helo_restrictions =
strict_rfc821_envelopes = no
#smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
# Geändert
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,check_relay_domains
# Geändert
smtp_sasl_auth_enable = no
smtpd_sasl_auth_enable = no

Bei mir hat das nach einem Update von 9.0 auf 9.1 geholfen.

Wenn es klappt sag bescheid!

stefan2412
Posts: 4
Joined: 2005-02-20 21:43

Re: lokaler POP-Abruf funktioniert nicht

Post by stefan2412 » 2005-02-23 20:13

Jaky wrote: inet_interfaces = all

smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,check_relay_domains


Bei mir hat das nach einem Update von 9.0 auf 9.1 geholfen.

Wenn es klappt sag bescheid!
Hallo,

erstmal vielen Dank für die Antwort.
Leider hat das bei mir nicht geklappt; es kommt immernoch die selbe Fehlermeldung und der lokale Mailabruf funktioniert immernoch nicht...

Irgendwie hat das bei meinem Server ja anscheinend auch was mit SSL zu tun (zumindest nach der Fehlermeldung, "OpenSSL error")..
Mit einem Mailprogramm kann ich ja auch mails über einen "gesicherte Verbindung" von Server abrufen, SSL muss also für den POP3-Abruf schon standardmäßig bei dem Server installiert gewesen sein. Kann es sein, dass der Server immer versucht eine Verbindung über SSL herzustellen, wenn das POP3-Pachfach vom Server selbst abgrufen wird? Mailabruf über SSL unterstützt das Php-Skript nämlich nicht. Wie könnte ich das deaktivieren, dass der POP3-Abruf über eine gesicherte Verbindung möglich ist, so dass dann nur noch der normale POP3-Abruf über eine ungesicherte Verbindung geht.
Bitte helft mir, wenn ihr könnt, weil ich weiß sonst wirklich nicht mehr weiter...

Viele Grüße,
Stefan

geo
Posts: 42
Joined: 2005-02-24 11:44
Location: Hannover

Re: lokaler POP-Abruf funktioniert nicht

Post by geo » 2005-02-24 12:01

Der Mailabruf geht über qpopper, das hat nichts mit postfix zu tun. Du musst dir die qpopper Konfiguration ansehen.

stefan2412
Posts: 4
Joined: 2005-02-20 21:43

Re: lokaler POP-Abruf funktioniert nicht

Post by stefan2412 » 2005-02-25 17:23

geo wrote:Du musst dir die qpopper Konfiguration ansehen.
Was müsste da denn genau drinstehen? In den qpopper-Konfig.-Dateien is mir da jetzt nichts so Auffälliges aufgefallen in Bezug auf localhost, allerdings weiß ich bei einigem auch nicht genau, ob das so passt oder, ob da noch was fehlt..
in /etc/xinetd.d/qpopper steht Folgendes:

Code: Select all

#
# qpopper - pop3 mail daemon
#
service pop3
{
#	disable		= yes
	socket_type	= stream
	protocol	= tcp
	wait		= no
	user		= root
	server		= /usr/sbin/popper
	server_args	= -s -l1 -f /etc/qpopper.conf
	flags		= IPv4
}
und in /etc/xinetd.d/qpopper-ssl steht:

Code: Select all

#
# qpopper - pop3 mail daemon
#
service pop3s
{
#	disable		= yes
	socket_type	= stream
	protocol	= tcp
	wait		= no
	user		= root
	server		= /usr/sbin/popper
	server_args	= -s -l2 -f /etc/qpopper.conf
	flags		= IPv4
}
die /etc/qpopper.conf besteht nur aus folgender Zeile:

Code: Select all

set tls-server-cert-file = /etc/ssl/private/qpopper.key
Fehlen da noch Einträge in diesen Dateien, muss da was geändert werden oder muss ich mir da noch andere Dateien ansehen?
Vielen Dank für die bisherigen Antworten. Ich bin wirklich für jeden Lösungsansatz sehr dankbar.

Viele Grüße,
Stefan

stefan2412
Posts: 4
Joined: 2005-02-20 21:43

Problem gelöst

Post by stefan2412 » 2005-02-27 14:30

Ich hab das Problem jetzt gelöst.
Falls mal jemand das selbe Problem hat: Ich hab in der /etc/xinetd.d/qpopper einfach "-l1 -f /etc/qpopper.conf" rausgelöscht und xinetd neugestartet. Ab dann hat es funktioniert. Die /etc/xinetd.d/qpopper sieht jetzt so aus:

Code: Select all

#
# qpopper - pop3 mail daemon
#
service pop3
{
#   disable      = yes
   socket_type   = stream
   protocol   = tcp
   wait      = no
   user      = root
   server      = /usr/sbin/popper
   server_args   = -s
   flags      = IPv4
}
Viele Grüße,
Stefan