Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/10/2016, à 21:28

bloudman59

PostFix problème reception mail

Bonsoir à tous!
Depuis ce matin 9 Heures je ne reçoit plus mes mails... En gros j'ai juste modifier une ligne de ma conf en passant de encrypt à may (pour faciliter un vieux truc outlook) j'ai redemarrer postfix et là... le drame plus aucun mail ne se reçoit.

Dovecot marche bien il me semble (vu que je vois bien le dossier dans rouncube ou autre) et la moitié de postifx fonctionne puisque je peux envoyer sans soucis des mails vers d'autres boites mail.

Voilà l'erreur de mes logs:

Oct 29 21:21:11 luneau postfix/master[1779]: warning: process /usr/lib/postfix/sbin/virtual pid 1935 exit status 1
Oct 29 21:21:11 luneau postfix/master[1779]: warning: /usr/lib/postfix/sbin/virtual: bad command startup -- throttling
Oct 29 21:24:13 luneau postfix/virtual[1971]: fatal: bad string length 0 < 1: virtual_mailbox_base =

je sais pas dans quelle voie aller...

J'ai testé la base mysql avec:

postmap -q abuse@example.org mysql:/etc/postfix/mysql-virtual-alias-maps.cf

(j'ai testé mes autres fichiers config mysql aussi tout marche )

mon main.cf:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.luneau.me
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, server.lan, localhost.lan, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
Avirtual_transport = dovecot
dovecot_destination_recipient_limit = 1
message_size_limit = 40960000

aussi voilà ce qu'il se passe quand c'est de l'exterieur:

Oct 29 21:33:02 server postfix/smtpd[1558]: connect from blu004-omc1s20.hotmail.com[65.55.116.31]
Oct 29 21:33:03 server postfix/smtpd[1558]: 67B332582052: client=blu004-omc1s20.hotmail.com[65.55.116.31]
Oct 29 21:33:03 server postfix/cleanup[1567]: 67B332582052: message-id=<AM4PR1001MB08491FAFDF598B2799B06F4BB1AC0@AM4PR1001MB0849.EURPRD10.PROD.OUTLOOK.COM>

Dernière modification par bloudman59 (Le 29/10/2016, à 21:57)

Hors ligne

#2 Le 30/10/2016, à 11:09

bloudman59

Re : PostFix problème reception mail

En reregardant les logs l'erreur arrive aussi quand je me connecte sur dovecot
j'ai revérifié tous les fichiers conf et j'ai l'impression qu'il sont corrects...

le pire c'est qu'au milieu des erreurs dans le log je vois mes mails qui devraient être reçu (une ligne postfix/qmgr) hmm Pas moyen d'y avoir accès ^^'

Dernière modification par bloudman59 (Le 30/10/2016, à 11:11)

Hors ligne

#3 Le 31/10/2016, à 09:39

bruno

Re : PostFix problème reception mail

Tu as au moins une erreur dans ton fichier main.cf :

Avirtual_transport = dovecot

En ligne

#4 Le 01/11/2016, à 13:41

LeoMajor

Re : PostFix problème reception mail

bonjour,

le  principal problème vient de la confusion des 2 méthodes de travail ( A/système Unix, B/ Virtual)

virtual_mailbox_base est  à renseigner

...defer_unauth_destination ou equivalent = (permit_auth_destination, defer)

sudo mailq  # pour voir les messages deferred  
sudo postsuper -d ALL  # pour les supprimer

permit_auth_destination est le fil conducteur pour la réception, doit valider la session. Mettre smtpd -v  à droite dans le master.cf, pour debug.
le dns mx pointe sur ton postfix.

permit_auth_destination
Autorise la requête lorsque l'une des propositions suivantes est vraie :
Postfix est un relais : l'adresse résolue RCPT TO correspond à $relay_domains ou l'un de leurs sous-domaines et l'adresse ne contient pas de routage expéditeur (user@elsewhere@domain),
Postfix est la destination finale : l'adresse résolue RCPT TO correspond à $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains ou $virtual_mailbox_domains et l'adresse ne contient pas de routage expéditeur (user@elsewhere@domain).

A/  évalue les paramètres de base,
mydestination, relay_domains, .., local_recipient_maps
B/ évalue virtual_*
A et B /  relay_recipient_maps
B/ évalue virtual_*

au niveau transport
A/ agent de livraison local:  local_transport
choisir au choix; home_mailbox, mailbox_command, mailbox_transport

home_mailbox = Maildir/   # postfix livre lui même
mailbox_command = /usr/lib/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT  
mailbox_transport = lmtp:unix:private/dovecot-lmtp
mailbox_command = /usr/bin/getmail_maildir ~/"$USER"@cafe.fr/Maildir/  # exotique, OK fonctionne compatible avec dovecot auth

B/ agent de livraison virtual:  virtual transport

virtual_transport = dovecot     et renseigner le master.cf  
virtual_transport = lmtp:unix:private/dovecot-lmtp 

Alternative transport_maps

lait.chocolat.fr    lmtp:unix:private/dovecot-lmtp 
chocolat.fr	lmtp:unix:private/dovecot-lmtp 
cafe.fr	local:
localhost	error:

les dns mx et txt spf existent pour cafe.fr, chocolat.fr, lait.chocolat.fr

si uniquement B, je conseille, mais chaqu'un fait ce qu'il veut.

 mydestination =

si A+B

mydestination = cafe.fr
virtual_mailbox_maps = hash:/etc/postfix/vmailbox_maps.cf  # par exemple

/etc/postfix/vmailbox_maps.cf
toto@chocolat.fr	toto@chocolat.fr
tata@lait.chocolat.fr   tata@lait.chocolat.fr

en revanche dans dovecot, comme, il y a plusieurs mail_location, et différents uid, il y a des des réglages à faire. je posterai plus tard. C'est quand même méthode à éviter, une complication d'avoir un stockage des messages sous le home unix de l'utilsateur et un truc différent pour virtual_base

Hors ligne

#5 Le 01/11/2016, à 17:56

bloudman59

Re : PostFix problème reception mail

Désolé du retard j'étais parti en vacances ^^'

C'est pas bon de mettre

Avirtual_transport = dovecot

?
Et effectivement merci pour la clarification sur Unix User/Virtual je me rend compte que je confondais un  peu les deux ^^' (je début carrément là dedans)
par contre j'ai pas tout compris quand tu parles des agents de livraisons hmm


Et j'en profite : j'ai résolu mon problème avec ces deux commandes que j'avais déjà tapé:

postconf -e virtual_transport=dovecot
postconf -e dovecot_destination_recipient_limit=1

j'ai fait ça ce matin en relisant le tuto que j'avais suivi ( https://www.tictech.info/post/mail_intro)
est-ce que vous pourriez me dire ce qu'elles ont fait dans les fichiers config ou autre ? (pour comprendre pourquoi ça marchait plus et pourquoi ça remarche maintenant ?)

merci encore de vos dux réponses !

Hors ligne

#6 Le 01/11/2016, à 22:18

LeoMajor

Re : PostFix problème reception mail

https://www.tictech.info/post/mail_preparation
saslauthd fonctionne aussi avec dovecot, mais il s'agit d'un complication inutile. c'est est pour les systèmes cyrus; courier, cyrus, dbmail, ...
après ton tuto, je ne sais pas, pas trop le temps de regarder .
...
static est le plus simple pour uniquement B virtual

est-ce que vous pourriez me dire ce qu'elles ont fait dans les fichiers config ou autre ? (pour comprendre pourquoi ça marchait plus et pourquoi ça remarche maintenant ?)

c'est permit_auth_destination, qui l'explique.

-------------
pour A+B, tu es plus ou moins obligé de composer avec les uid

pour le A normalement, tu sais.

ajouter éventuellement, si pam n'est pas utilisé.
local_recipient_maps = hash:/etc/postfix/recipients_allow.cf, $alias_maps, proxy:unix:passwd.byname

cat /etc/postfix/recipients_allow.cf
toto@cafe.fr	OK
tutu@cafe.fr	OK
postmaster@cafe.fr 	OK

relay_recipient_maps ; mettre tous les récipients connus de A unix users et B virtual users

B/
useradd, usermod, si besoin

id mail
uid=8(mail) gid=8(mail) groupes=8(mail)
id mail; getent passwd mail
uid=8(mail) gid=8(mail) groupes=8(mail)
mail:x:8:8:mail:/srv/mail:/usr/sbin/nologin

principalement

virtual_gid_maps = $virtual_uid_maps
virtual_mailbox_base = /srv/mail
virtual_mailbox_maps = hash:/etc/postfix/vmailbox_maps.cf
virtual_minimum_uid = 8
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_uid_maps = hash:/etc/postfix/domains_uid.cf

regexp:/etc/postfix/domains_uid.cf

/(.*)@lait\.chocolat\.fr/	8
/(.*)@chocolat\.fr/  8
/toto@cafe\.fr/	1000
/tutu@cafe\.fr/	1002

edit: regexp

doveconf -n
principalement

mail_location = maildir:/srv/mail/%u/Maildir

et surcharger avec
/etc/dovecot/user_domain.passwd

toto@cafe.fr:{CRAM-MD5}aaaaa:1000:1000::/home/toto/toto@cafe.fr::userdb_mail=maildir:/home/toto/toto@cafe.fr/Maildir
tutu@cafe.fr:{CRAM-MD5}aaaaa:1002:1002::/home/tutu/tutu@cafe.fr::userdb_mail=maildir:/home/tutu/tutu@cafe.fr/Maildir
tata@lait.chocolat.fr:{CRAM-MD5}aaaaa:8:8::/srv/mail/tatat@lait.chocolat.fr::userdb_mail=maildir:~/Maildir
titi@lait.chocolat.fr:{CRAM-MD5}aaaaa:8:8::/srv/mail/titi@lait.chocolat.fr::userdb_mail=maildir:~/Maildir
# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-92-generic x86_64 Ubuntu 14.04.4 LTS ext4
auth_debug = yes
auth_debug_passwords = yes
auth_default_realm = cafe.fr
auth_mechanisms = cram-md5
auth_username_format = %u
auth_verbose = yes
auth_verbose_passwords = plain
debug_log_path = /var/log/dovecot-debug.log
first_valid_uid = 8
hostname = mail.domain.tld
info_log_path = /var/log/dovecot-info.log
listen = *,[::]
log_path = /var/log/dovecot.log
mail_debug = yes
mail_location = maildir:/srv/mail/%u/Maildir
namespace inbox {
  inbox = yes
  location = 
  mailbox Brouillon-- {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Corbeille-- {
    auto = subscribe
    special_use = \Trash
  }
  mailbox Envoye-- {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Spam-- {
    auto = subscribe
    special_use = \Junk
  }
  prefix = 
}
passdb {
  args = scheme=cram-md5 username_format=%u /etc/dovecot/user_domain.passwd
  driver = passwd-file
}
protocols = imap lmtp
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0666
    user = postfix
  }
}
ssl_cert = </opt/x509/wildcard.domain.tld-cert.pem
ssl_key = </opt/x509/wildcard.domain.tld-key.pem
userdb {
  args = username_format=%u /etc/dovecot/user_domain.passwd
  driver = passwd-file
}

pour postfix, tu as quelque chose qui ressemble à ci dessous. (A+B)
postconf -n

address_verify_sender = postmaster@cafe.fr
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 36h
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
default_destination_concurrency_limit = 10
default_destination_recipient_limit = 25
default_transport = smtp
empty_address_recipient = MAILER-DAEMON@$myorigin
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
local_destination_concurrency_limit = 5
local_recipient_maps = hash:/etc/postfix/recipients_allow.cf, $alias_maps, proxy:unix:passwd.byname
mail_owner = postfix
mailbox_size_limit = 0
mailbox_transport = lmtp:unix:private/dovecot-lmtp
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
maximal_queue_lifetime = 36h
mydestination = cafe.fr
mydomain = cafe.fr
myhostname = mail.cafe.fr
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
recipient_delimiter = +
relay_domains = $mydomain
relay_recipient_maps = hash:/etc/postfix/recipients_allow.cf
relayhost =
sample_directory = /usr/share/doc/postfix/examples
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_destination_concurrency_limit = 5
smtp_destination_rate_delay = 1
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = cram-md5, plain, login
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd.cf
smtp_sasl_security_options = noplaintext
smtp_tls_CAfile = $smtpd_tls_CAfile
smtp_tls_cert_file = $smtpd_tls_cert_file
smtp_tls_key_file = $smtpd_tls_key_file
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_client_connection_count_limit = 4
smtpd_client_connection_rate_limit = 30
smtpd_client_recipient_rate_limit = 30
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client, check_client_access regexp:/etc/postfix/auto_access_clients_denied.cf, permit
smtpd_delay_reject = no
smtpd_error_sleep_time = 0
smtpd_hard_error_limit = 4
smtpd_helo_restrictions = reject_non_fqdn_helo_hostname, permit
smtpd_recipient_limit = 30
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, permit_auth_destination, reject_non_fqdn_recipient, reject
smtpd_relay_restrictions =
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = hash:/etc/postfix/permit_sasl_lock_mailfrom.cf
smtpd_sender_restrictions = reject_non_fqdn_sender, permit_mynetworks, reject_sender_login_mismatch, check_sender_access regexp:/etc/postfix/auto_access_sender_denied.cf, permit
smtpd_tls_CAfile = /opt/x509/ca.lns.cafe.fr-cacert.pem
smtpd_tls_CAfile = /opt/x509/ca.lns.cafe.fr-cacert.pem
smtpd_tls_cert_file = /opt/x509/wildcard.cafe.fr-cert.pem
smtpd_tls_cert_file = /opt/x509/wildcard.cafe.fr-cert.pem
smtpd_tls_key_file = /opt/x509/wildcard.cafe.fr-key.pem
smtpd_tls_key_file = /opt/x509/wildcard.cafe.fr-key.pem
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
soft_bounce = yes
transport_maps = hash:/etc/postfix/transport.cf
virtual_alias_maps = hash:/etc/postfix/valias_maps.cf
virtual_destination_concurrency_limit = 10
virtual_destination_rate_delay = 1
virtual_gid_maps = $virtual_uid_maps
virtual_mailbox_base = /srv/mail
virtual_mailbox_maps = hash:/etc/postfix/vmailbox_maps.cf
virtual_minimum_uid = 8
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_uid_maps = regexp:/etc/postfix/domains_uid.cf

/etc/mailname   cafe.fr
-----------------
c'est plus facile de faire uniquement que du A ou du B
et convertir par exemple un user unix  en user_virtual, avec sender_canonical_maps

edit: virtual_uid_maps = regexp:/etc/postfix/domains_uid.cf

Dernière modification par LeoMajor (Le 01/11/2016, à 23:09)

Hors ligne