• Serveurs
  • [Discussion] Installer un serveur de mail avec Postfix et Dovecot

OK bon le 1er problème il est régler j'avais mis un S en trop :'(

Aucune erreur lorsque je demarre postfix, ni dovecot

Alors du nouveau !
j'arrive à me connecter en telnet mais ça fige à la ligne $hostname etc etc etc
je vais revérifier mes fichiers de conf postfix :'(
5 jours plus tard
Hello Hardware, je me permet de faire un petit retour après avoir essayé le script hier avec les ajouts que tu as faits (d'ailleurs merci).

Au reload de postfix, j'ai eu ce warning:
[....] Reloading Postfix configuration.../usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: smtpd_relay_restrictions=permit_mynetworks,     reject_unknown_sender_domain,     permit_sasl_authenticated,     reject_unauth_destination
Tout est rentré dans l'ordre une fois les lignes concernées retirées de main.cf.

Autre chose, le règle de Sieve
require ["fileinto"];
 
if header :contains "Subject" "*****SPAM*****" {

    fileinto "Junk";

}
Ne fonctionne pas chez moi, sauf si je remplace "Junk" par "Spam". Voilà voilà ^^

Aliochk
24 jours plus tard
Bonjour,

Tout d'abord merci pour ce tuto qui est l'un des plus clair / complet / à jour que j'ai trouvé, félicitations à l'auteur
Quelques petites remarques :
- dans "6 - Configuration de dovecot", le gist de "dovecot.conf" contient le protocole "sieve" alors qu'il n'est pas encore installé à ce moment du tuto
- toujours dans "", le path dans le code de "10-mail.conf" ne me semble pas correct ("/mail en trop la fin ?")

Sinon j'ai voulu suivre le tuto mais je rencontre un problème avec le SMTP.
J'en suis à la partie 15 après l'installation de RainLoop, j'aimerais regler mon souci avant d'aller plus loin.

Le serveur mail serait "mail.domain.tld" , pour gérer le domaine "domain.tld"

L'IMAP semble fonctionner, mais impossible de faire fonctionner le SMTP sur 3 clients : K9Mail sous Android, ThunderBird sous Mint et Rainloop sur le serveur en question (Debian 7).
Par contre il semblerait que ça fonctionne en ligne de commande :
$ openssl s_client -starttls smtp -crlf -connect mail.domain.tld:587
CONNECTED(00000003)
...

    Start Time: 1428768332
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
250 DSN
ehlo test
250-mail.domain.tld
250-PIPELINING
250-SIZE 502400000
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN <mon auth password>
235 2.7.0 Authentication successful
mail from: <arthur@domain.tld>
250 2.1.0 Ok
rcpt to: <arthur@domain2.tld>             
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
test
.
250 2.0.0 Ok: queued as 1D1A4435FF
Bon le message se fait jeter par Google (les mails @domain2.tld sont chez Google) mais c'est un autre problème, au moins il a l'air de partir :
Apr 11 18:05:58 hostname postfix/qmgr[28302]: 1D1A4435FF: from=<arthur@domain.tld>, size=387, nrcpt=1 (queue active)
Apr 11 18:05:59 hostname postfix/smtp[3116]: 1D1A4435FF: host ASPMX.L.GOOGLE.com[173.194.67.26] said: 421-4.7.0 [62.210.66.225      15] Our system has detected an unusual rate of 421-4.7.0 unsolicited mail originating from your IP address. To protect our 421-4.7.0 users from spam, mail sent from your IP address has been temporarily 421-4.7.0 rate limited. Please visit 421-4.7.0 http://www.google.com/mail/help/bulk_mail.html to review our Bulk 421 4.7.0 Email Senders Guidelines. fb2si4864092wib.18 - gsmtp (in reply to end of DATA command)
Apr 11 18:06:00 hostname postfix/smtp[3116]: 1D1A4435FF: to=<arthur@domain2.tld>, relay=ALT1.ASPMX.L.GOOGLE.com[173.194.71.26]:25, delay=17, delays=15/0.01/1.3/0.96, dsn=4.7.0, status=deferred (host ALT1.ASPMX.L.GOOGLE.com[173.194.71.26] said: 421-4.7.0 [62.210.66.225      15] Our system has detected an unusual rate of 421-4.7.0 unsolicited mail originating from your IP address. To protect our 421-4.7.0 users from spam, mail sent from your IP address has been temporarily 421-4.7.0 rate limited. Please visit 421-4.7.0 http://www.google.com/mail/help/bulk_mail.html to review our Bulk 421 4.7.0 Email Senders Guidelines. yi7si3898050lbb.14 - gsmtp (in reply to end of DATA command))
Dans Rainloop, j'ai ce message d'erreur dans la partie SMTP de mon domaine (l'IMAP est ok et fonctionne)
stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Voilà voilà, j'ai cherché un peu dans tous les sens sans trouver grand chose, si quelqu'un a une idée ça pourrait m'aider

Conf Postfix :
root@hostname:~# hostname 
hostname
root@hostname:~# hostname -f
hostname.domain2.tld
root@hostname:~# cat /etc/postfix/main.cf
#######################
## GENERALS SETTINGS ##
#######################
 
smtpd_banner         = $myhostname ESMTP $mail_name (Debian/GNU)
biff                 = no
append_dot_mydomain  = no
readme_directory     = no
delay_warning_time   = 4h
mailbox_command      = procmail -a "$EXTENSION"
recipient_delimiter  = +
disable_vrfy_command = yes
message_size_limit   = 502400000
mailbox_size_limit   = 1024000000
 
inet_interfaces = all
inet_protocols = ipv4
 
myhostname    = mail.domain.tld
myorigin      = mail.domain.tld
mydestination = localhost localhost.$mydomain hostname.domain.tld
mynetworks    = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 62.210.66.224/27
 
alias_maps     = hash:/etc/aliases
alias_database = hash:/etc/aliases
 
####################
## TLS PARAMETERS ##
####################
 
# SMTP ( OUTGOING )
# ----------------------------------------------------------------------
smtp_tls_loglevel               = 1
smtp_tls_security_level         = may
smtp_tls_CAfile                 = /etc/ssl/certs/CAroot.crt
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
 
# SMTPD ( INCOMING )
# ----------------------------------------------------------------------
smtpd_tls_loglevel            = 1
smtpd_tls_auth_only           = yes
smtpd_tls_security_level      = may
smtpd_tls_received_header     = yes
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 TLSv1
smtpd_tls_mandatory_ciphers   = high
smtpd_tls_exclude_ciphers     = aNULL, eNULL, EXPORT, MD5, DES, RC4, PSK
 
tls_random_source = dev:/dev/urandom
 
# TLS PUBLIC CERTIFICATES AND PRIVATE KEY
smtpd_tls_CAfile    = /etc/ssl/certs/CAroot.crt
smtpd_tls_cert_file = /etc/ssl/certs/mailserver.crt
smtpd_tls_key_file  = /etc/ssl/private/mailserver.key
 
# TLS/LMTP SESSION CACHE DATABASES
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
lmtp_tls_session_cache_database  = btree:${data_directory}/lmtp_scache
 
# CYPHERS AND CURVE PARAMETERS
smtpd_tls_eecdh_grade  = ultra
tls_eecdh_strong_curve = prime256v1
tls_eecdh_ultra_curve  = secp384r1
 
# DIFFIE-HELLMAN PARAMETERS
smtpd_tls_dh1024_param_file = /etc/postfix/dh2048.pem
smtpd_tls_dh512_param_file  = /etc/postfix/dh512.pem
 
# ----------------------------------------------------------------------
 
#####################
## SASL PARAMETERS ##
#####################
 
smtpd_sasl_auth_enable          = yes
smtpd_sasl_type                 = dovecot
smtpd_sasl_path                 = private/auth
smtpd_sasl_security_options     = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_local_domain         = $mydomain
smtpd_sasl_authenticated_header = yes
 
broken_sasl_auth_clients = yes
 
##############################
## VIRTUALS MAPS PARAMETERS ##
##############################
 
virtual_uid_maps        = static:5000
virtual_gid_maps        = static:5000
virtual_minimum_uid     = 5000
virtual_mailbox_base    = /var/mail
virtual_transport       = lmtp:unix:private/dovecot-lmtp
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
 
######################
## ERRORS REPORTING ##
######################
 
# notify_classes = bounce, delay, resource, software
notify_classes = resource, software
 
error_notice_recipient     = admin@domain.tld
# delay_notice_recipient   = admin@domain.tld
# bounce_notice_recipient  = admin@domain.tld
# 2bounce_notice_recipient = admin@domain.tld
 
##################
## RESTRICTIONS ##
##################
 
smtpd_recipient_restrictions =
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_non_fqdn_recipient,
     reject_unauth_destination,
     reject_unknown_recipient_domain,
     reject_rbl_client zen.spamhaus.org
 
smtpd_helo_restrictions =
     permit_mynetworks,
     permit_sasl_authenticated,
     reject_invalid_helo_hostname,
     reject_non_fqdn_helo_hostname
     # reject_unknown_helo_hostname
 
smtpd_client_restrictions =
     permit_mynetworks,
     permit_inet_interfaces,
     permit_sasl_authenticated
     # reject_plaintext_session,
     # reject_unauth_pipelining
 
smtpd_sender_restrictions =
     reject_non_fqdn_sender,
     reject_unknown_sender_domain
 
#########################
## MILTERS DKIM/CLAMAV ##
#########################
 
milter_protocol       = 6
milter_default_action = accept
smtpd_milters         = inet:localhost:12301
non_smtpd_milters     = inet:localhost:12301
root@hostname:~# cat /etc/postfix/master.cf
#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
  -o content_filter=spamassassin
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_dh1024_param_file=${config_directory}/dh2048.pem
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       -       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
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=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  - n n - 2 pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}
root@hostname:~#


Conf Dovecot
root@hostname:~# cat /etc/dovecot/dovecot.conf 
## Dovecot configuration file
 
# Enable installed protocols
!include_try /usr/share/dovecot/protocols.d/*.protocol
protocols = imap lmtp
 
# A space separated list of IP or host addresses where to listen in for
# connections. "*" listens in all IPv4 interfaces. "[::]" listens in all IPv6
# interfaces. Use "*, [::]" for listening both IPv4 and IPv6.
listen = *
 
# Most of the actual configuration gets included below. The filenames are
# first sorted by their ASCII value and parsed in that order. The 00-prefixes
# in filenames are intended to make it easier to understand the ordering.
!include conf.d/*.conf
 
# A config file can also tried to be included without giving an error if
# it's not found:
!include_try local.conf
root@hostname:~# cat /etc/dovecot/conf.d/10-auth.conf 
## Authentication processes
 
# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
disable_plaintext_auth = yes
 
# Space separated list of wanted authentication mechanisms:
# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
# gss-spnego
# NOTE: See also disable_plaintext_auth setting.
auth_mechanisms = plain login
 
#
# Password database is used to verify user's password (and nothing more).
# You can have multiple passdbs and userdbs. This is useful if you want to
# allow both system users (/etc/passwd) and virtual users to login without
# duplicating the system users into virtual database.
#
# <doc/wiki/PasswordDatabase.txt>
#
# User database specifies where mails are located and what user/group IDs
# own them. For single-UID configuration use "static" userdb.
#
# <doc/wiki/UserDatabase.txt>
!include auth-sql.conf.ext
root@hostname:~# cat /etc/dovecot/dovecot-sql.conf.ext 
# Paramètres de connexion
driver = mysql
connect = host=127.0.0.1 dbname=postfix user=postfix password=<mon password>

# Permet de définir l'algorithme de hachage.
# Pour plus d'information: http://wiki2.dovecot.org/Authentication/PasswordSchemes
# /!\ ATTENTION : ne pas oublier de modifier le paramètre $CONF['encrypt'] de PostfixAdmin
default_pass_scheme = MD5-CRYPT

# Requête de récupération du mot de passe du compte utilisateur
password_query = SELECT password FROM mailbox WHERE username = '%u'
  
root@hostname:~# cat /etc/dovecot/conf.d/10-mail.conf 
mail_location = maildir:/var/mail/vhosts/%d/%n
 
namespace inbox {
    inbox = yes
}
 
mail_uid = 5000
mail_gid = 5000
 
first_valid_uid = 5000
last_valid_uid = 5000
 
mail_privileged_group = vmail
root@hostname:~# cat /etc/dovecot/conf.d/10-master.conf 
service imap-login {
 
  inet_listener imap {
    port = 143
  }
 
  inet_listener imaps {
    port = 993
    ssl = yes
  }
 
  service_count = 0
 
}
 
service imap {
 
}
 
service lmtp {
 
  # On autorise Postfix à transférer les emails dans le spooler de Dovecot via LMTP
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
      mode = 0600
      user = postfix
      group = postfix
  }
 
}
 
service auth {
 
  # On autorise Postfix à se connecter à Dovecot via LMTP
  unix_listener /var/spool/postfix/private/auth {
      mode = 0666
      user = postfix
      group = postfix
  }
 
  # On indique à Dovecot les permissions du conteneur local
  unix_listener auth-userdb {
      mode = 0600
      user = vmail
      group = vmail
  }
 
  user = dovecot
 
}
 
service auth-worker {
 
  user = vmail
 
}
   
root@hostname:~# cat /etc/dovecot/conf.d/10-ssl.conf 
## SSL settings
 
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
ssl = required
 
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
# ssl_cert = </etc/ssl/certs/dovecot.pem
# ssl_key = </etc/ssl/private/dovecot.pem
 
ssl_cert = </etc/ssl/certs/mailserver.crt
ssl_key = </etc/ssl/private/mailserver.key
 
ssl_protocols = !SSLv2 !SSLv3
root@hostname:~# cat /etc/dovecot/conf.d/auth-sql.conf.ext 
# Le mot de passe est obtenu à partir de la base de donnée
passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}

# Par contre le nom d'utilisateur est obtenu de manière statique à partir du conteneur local
# %d = domaine.tld
# %n = utilisateur
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}
Certifs / clés / perms / version
root@hostname:~# ls -l /etc/ssl/certs/CAroot.crt 
-r--r--r-- 1 root root 2106 Apr 11 08:17 /etc/ssl/certs/CAroot.crt
root@hostname:~# ls -l /etc/ssl/certs/mailserver.crt 
-r--r--r-- 1 root root 1988 Apr 11 08:18 /etc/ssl/certs/mailserver.crt
root@hostname:~# ls -l /etc/ssl/private/mailserver.key 
-r-------- 1 root root 3243 Apr 11 08:18 /etc/ssl/private/mailserver.key
root@hostname:~# ls -l /etc/postfix/dh*
-rw-r--r-- 1 root root 424 Apr 11 08:19 /etc/postfix/dh2048.pem
-rw-r--r-- 1 root root 156 Apr 11 08:20 /etc/postfix/dh512.pem
root@hostname:~# uname -a
Linux hostname 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 GNU/Linux
root@hostname:~# dpkg -l | grep postfix
ii  postfix                              2.9.6-2                       amd64        High-performance mail transport agent
ii  postfix-mysql                        2.9.6-2                       amd64        MySQL map support for Postfix
root@hostname:~# dpkg -l | grep dovecot
ii  dovecot-core                         1:2.1.7-7+deb7u1              amd64        secure mail server that supports mbox, maildir, dbox and mdbox mailboxes
ii  dovecot-imapd                        1:2.1.7-7+deb7u1              amd64        secure IMAP server that supports mbox, maildir, dbox and mdbox mailboxes
ii  dovecot-lmtpd                        1:2.1.7-7+deb7u1              amd64        secure LMTP server for Dovecot
ii  dovecot-mysql                        1:2.1.7-7+deb7u1              amd64        MySQL support for Dovecot
Merci d'avance !


@Hardware : tu as toujous l'adresse 1PJyPjCd2wJPptu33BKtaFcMmewHiPaF7c sous la main ?
Aucun protocole ne peut-être utilisé pendant le handshake SSL/TLS, je suppose que l'erreur vient de cette ligne :
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 TLSv1
Il manque une virgule. La doc de postfix précise que les termes doivent être séparés par des virgules ou des espaces, mais je pense pas qu'on puisse mixer les deux.
arthur wrote:@Hardware : tu as toujous l'adresse 1PJyPjCd2wJPptu33BKtaFcMmewHiPaF7c sous la main ?
Oui
Bien vu pour la virgule, malheureusement cela ne change rien.. Toujours le même message d'erreur dans Rainloop malgré plusieurs essais (avec espaces, avec virgules, sans etc.)
stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
En fait "-o smtpd_tls_wrappermode=yes" permet d'utiliser le port 465, donc d'utiliser un "authentification wrapper" à travers SMTP, ce qui est obsolète de nos jours, on privilégie la connexion par STARTTLS sur le port 587. Généralement, SMTPS (465) est utilisé comme wrapper pour la compatibilité avec des clients mails plus anciens, mais c'est pas vraiment le cas de ceux que tu utilises (rainloop, thunderbird, K9Mail).

Plus d'info :

http://stackoverflow.com/a/19942206

Je pense que le problème vient des paramètres que tu as saisis dans Rainloop, vérifie bien que tu as choisis le port 587 et STARTTLS pour la connexion :

C'était déjà bien config comme ça, "starttls" sur le port 587 dans la partie SMTP mais si je vire le " -o smtpd_tls_wrappermode=yes" je me retrouve dans la situation d'hier.

Sinon entre temps j'ai fini le tuto, tout le reste semble fonctionner... (spf, dkim etc..).
Pour info je compte installer ça aussi (j'avais ça sur mon précédent serveur)
-> http://postgrey.schweikert.ch/

C'est assez bête mais ça peut être efficace quand on reçoit pas mal de spam (ce qui est mon cas avec certaines adresses mails publiques depuis des années sur le net), peut être une partie à ajouter dans ton tuto ?
J'ai utilisé le script, suivi les instructions. Puis j'ai vu dans mes logs que l'adresse du postmaster n'était pas renseigné, j'ai donc corrigé cette erreur.

Désormais je suis capable d'envoyer des mails sans problème mais je ne reçois pas correctement... Je soupçonne une erreur/mauvaise configuration du coté de Dovecot.
En effet, je reçois les mails de Gmail, mais quand j'envoie des mails depuis un compte hotmail/Outlook j'obtient une erreur d'envoi.

Si ce genre de problème est déjà survenu et qu'il existe une solution je vous serais gré de répondre avec un lien vers la solution.

Rainloop fonctionne à merveille. C'est un peu dommage de ne pas pouvoir vraiment utiliser mon serveur pour envoyer des mails tous les jours juste parce que certaines personnes ne pourraient pas me répondre.

Merci d'avance pour votre aide.
bonjour.

(je n'ai pas lu les 15 pages de ce topic désolé si la réponse est déjà dedans)

concernant spamassassin, pour les tâches cron faut-il en créer 2 pour chaque utilisateur?
ou existe t-il un autre moyen (genre utiliser $USER a la place)?
exemple:
# Auto-apprentissage de spam assassin
30 02 * * * /usr/bin/sa-learn --ham /var/mail/vhosts/domain.tld/USER1/mail/cur/*
40 02 * * * /usr/bin/sa-learn --spam /var/mail/vhosts/domain.tld/USER1/mail/.Junk/cur/*
30 02 * * * /usr/bin/sa-learn --ham /var/mail/vhosts/domain.tld/USER2/mail/cur/*
40 02 * * * /usr/bin/sa-learn --spam /var/mail/vhosts/domain.tld/USER2/mail/.Junk/cur/*
....etc..
ou
# Auto-apprentissage de spam assassin
30 02 * * * /usr/bin/sa-learn --ham /var/mail/vhosts/domain.tld/$USER/mail/cur/*
40 02 * * * /usr/bin/sa-learn --spam /var/mail/vhosts/domain.tld/$USER/mail/.Junk/cur/*
.
EDIT:

ha oui et aussi si jamais vous avez une astuce pour que hotmail/outlook ne considère pas mes mail comme des spam merci de m'en informer lol il n'y a que eux qui considèrent mes mail comme spam alors que j'ai même fais en sorte d'utiliser l'ipv6 (j'ai lu que ça pouvait aider..)
RE..

j'ai une autre galère (décidément fff)

c'est concernant les spam et sieve.

thunderbird et les autres logiciels me créent un dossier "spam" dans
"/var/mail/vhosts/tld.com/user/mail/.Spam/cur"

sieve lui ne me créer pas le dossier "junk" et quand je le créer moi même, sieve déplace bien les spam dans ce dossier
mais du coup, thunderbird et les autres ne voient pas ce dossier.
donc j'ai tenter de changer la config mais ça ne fonctionne pas:

nano /var/mail/sieve/default.sieve:
require ["fileinto"];

if header :contains "Subject" "*****SPAM*****" {

    fileinto "Spam";

}
nano /etc/dovecot/conf.d/15-mailboxes.conf:
namespace inbox {
  #prefix = INBOX. # the namespace prefix isn't added again to the mailbox names.
  # ...

  mailbox Trash {
    auto = no
    special_use = \Trash
  }
  mailbox Drafts {
    auto = no
    special_use = \Drafts
  }
  mailbox Sent {
    auto = subscribe # autocreate and autosubscribe the Sent mailbox
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    special_use = \Sent
  }
  mailbox Spam {
    auto = subscribe # autocreate Spam, and autosubscribe
    special_use = \Spam
  }
  mailbox virtual/All { # if you have a virtual "All messages" mailbox
    auto = no
    special_use = \All
  }
}
rm /var/mail/sieve/default.svbin
sievec /var/mail/sieve/default.sieve

après cette cmd j'ai cette erreur:
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: mailbox Spam: unknown special_use: \Spam
service dovecot restart
et je me retrouve avec cette erreur:
doveconf: Error: managesieve-login: dump-capability process returned 89
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: mailbox Spam: unknown special_use: \Spam
 failed!
donc là je suis perdu

EDIT:
bon finalement j'ai laissé la config "/etc/dovecot/conf.d/15-mailboxes.conf" avec "Junk" a la place de "Spam"
et ça fonctionne quand-même
5 jours plus tard
Coucou,

Dîtes, ou puis-je retrouver l'utilisateur et mdp pour accéder à mon interface admin de Rainloop ?
Si par exemple un gros boulet (moi) oublie l'user et mot de passe qu'il a noté

Merci bien
A priori tu peux le reset en allant éditer le fichier :
<document_root>/data/_data_<quelquechose>/_default_/configs/application.ini    
Visiblement il suffit de reset la clé "admin_password" par un pass en clair (qui rera remplacé par un pass haché lors du prochain reset / changement de pass via l'admin)
Au top, merci Arthur, j'ai eu accès à mon utilisateur, du coup ça m'évite de changer le pass
Parfait, merci bien
Bonjour,

Je n'ai pas vu mon problème dans les pages précédentes, et à la vue du nombre de retours sur le tuto, c'est bien moi qui ait un problème et non le tuto.

Je suis à la première connexion avec un client mail, et là, la connexion ne se fait pas avec le serveur.Voici les logs (mail.log)
Apr 24 10:37:41 vps dovecot: auth-worker(2960): Error: mysql(127.0.0.1): Connect failed to database (postfix): Access denied for user 'vmail'@'localhost' (using password: YES) - waiting for 1 seconds before retry
Moi y en a comprendre le message... mais pourquoi que vmail il voudrait se connecter à la bdd, alors que c'est à postfix de le faire ?

Une idée d'où ça coince ?

J'ai relu le tuto 3 fois. Je m'en vais pour la quatrième fois, en attendant....

Merci pour votre lecture

PS : J'utilise Apache2 et non nginx, mais je ne suis pas persuadé que ça change grand chose au schilimiliblick....
Il est possible que cela soit du au fait que mon mdp d'accès à SQL utilise des caractères spéciaux. Je vais modifier tout ça, et je vous tiens au courant.

EDIT : non, ce n'est pas ma solution.....
Bonjour,

j'avais la meme erreur que toi, j'ai changer 127.0.0.1 par localhost dans les 3 fichiers sql et ca fonctionne
un mois plus tard
15 jours plus tard
Bonjour

Tout d'abord merci pour ce tuto.
Grâce à celui-ci, j'ai pu installer mon serveur de messagerie sur un Debian 7. cool

J'ai un problème sur la partie 12.
La partie configuration se passe très bien. J'ai bien fait attention à remplacer domain.tld par mon nom de domaine.
J'ai généré et affiché ma clef publique.
Maintenant j'essaie de l'intégrér sur mon compte Gandi mais là j'ai un problème.
En interface simple, j'ai le message d'erreur suivant : La valeur et/ou la priorité MX est incorrecte.
Ma priorité MX est de 10.

J'ai essayé d'intégrer cette valeur en mode expert mais ça ne fonctionne pas non plus.

quelqu'un a-t-il une idée de pourquoi ça ne fonctionne pas ?

Merci d'avance à ce qui pourront m'aider

PS : dans certains fichiers de configuration DKIM, on indique que la valeur selecteur (en italique) mail._domainkey dépend de la variable Selector indiqué dans opendkim.conf or dans le tuto il n'y a pas de valeur selector. je suis tombé sur un article incomplet ?
Bonjour a tous
Je suis confronté à un petit soucis
mon serveur mail marche très bien envoie&réception
mais le soucis c'est que je n'ai aucun dossier .junk ou autre qui ce créer toutefois depuis rainloop je rretrouve des dossier spam archive etc mais impossible de les localiser leur path sur la machine.

Merci d'avance
bonjour.

quelqu'un a une solution pour que outlook ne considère pas nos mail comme spam a tout hasard?
(s.v.p. ne me dite pas " dis a tes contacts d'ajouter ton adr mail" )
@shrekator : Avec l'interface en mode normal ça fonctionne très bien, es-tu sûr de faire comme ça :



@mikadmin : Tu as vérifié ce chemin : /var/mail/vhosts/ { domain.tld } / { user } /.Junk/cur ?

@Jeyy : Si tu as suivi complètement le tutoriel (DKIM, SFP, DMARC...etc) et que tu as toujours ce problème, je te conseille de faire les choses suivantes :

- Lire ceci : https://mail.live.com/mail/troubleshooting.aspx
- Contacter la loopback de microsoft et expliquer ton problème (en anglais) : https://support.microsoft.com/en-us/getsupport?oaspworkflow=start_1.0.0.0&wfname=capsub&productkey=edfsmsbl3
- Rejoindre le programme SNDS (Smart Network Data Services) : https://postmaster.live.com/snds
- Rejoindre une white list : https://www.dnswl.org/

Généralement le support répond assez vite (quelques heures au max), si leur robot détecte un problème de délivrabilité, il le dira et le soucis sera réglé par les équipes de Microsoft. Ensuite il faut savoir une chose, le système anti-spam de Outlook (SmartScreen) fonctionne en se basant sur des critères de réputation, donc il faut parfois attendre plusieurs mois avant d'avoir une réputation suffisante.

J'ai mis 3 mois avant que mes e-mails ne soient plus considérés comme du spam auprès de SmartScreen donc faudra être patient.
Bonjour hardware merci pour la rapidité

Alors oui j'ai bien vérifié le patch donné
Voici un screen du chemin relatif d'un nouvel utilisateur créé "polux"


Sur ce deuxieme screen on vois bien que le mail de bienvenue a etais envoyé depuis postfixadmin



Du coup vu que je n'ai pas de dossier .junk
Mes 2 taches autolearn en cron ne servent absolument a rien et spamassassin deviens useless

Merci encore
Il faut que tu fasses un ls -a
merci mais en fait j'ai déjà fais tout ceci.
le problème vient de spamassassin je crois
j'ai cette ligne d'erreur dans les headers du mail reçu:
T_DKIM_INVALID DKIM-Signature header exists but is not valid
je pense que c'est ça le soucis pourtant les test dkim sont bons sur le site mail tester


EDIT:
je crois que j'ai trouvé d'où venait le soucis:

j'avais cette erreur:
 spamassassin -V
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "fr_FR.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
SpamAssassin version 3.3.2
  running on Perl version 5.14.2

puis :
dpkg-reconfigure locales
perl: warning: Setting locale failed.
donc j'ai fais :
apt-get install --reinstall locales
ce qui a mis a jour spamassassin et perl
spamassassin -V
SpamAssassin version 3.4.0
  running on Perl version 5.20.2
du coup le msg a disparu faut que je teste sur d'autre adr outlook pour voir...
merci encore pour les tuto


EDIT2: bon le message est revenu finalement (ou alors j'avais pas les yeux en face des trous tout a l'heure)
donc je pense que mon soucis est lié a ce message dans les headers du mail reçu:
X-Spam-Report: 
	* -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,T_DKIM_INVALID
	autolearn=ham autolearn_force=no version=3.4.0
si vous avez une idée... car bon nombre de gens utilisent hotmail/outlook c'est dommage d'atterrir toujours en spam quoi
ça c'est pour faire de la validation DKIM avec spamassassin, ça ne va pas résoudre ton soucis de spam avec Outlook. Sinon merci pour ce retour, je connaissais pas ce plugin.
Hardware wrote:Il faut que tu fasses un ls -a
Effactivement merci bien et du coup je me suis appercu que ce n'etais pas .Junk mais .Spam

Encore merci
Bonsoir !

Un grand merci pour le tuto présenté ici, car vraiment très bien réalisé.
Je suis arrivé à la fin de la configuration de Postfix et Dovecot, sauf que je rencontre un message d'erreur en relançant les services.

Voici ce que ça me dit :
root@seedbox:/etc/dovecot/conf.d# service postfix restart
[ ok ] Stopping Postfix Mail Transport Agent: postfix.
[ ok ] Starting Postfix Mail Transport Agent: postfix.
root@seedbox:/etc/dovecot/conf.d# service dovecot restart
doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-ssl.conf line 53: Unknown setting: ssl_prefer_server_ciphers
[....] Restarting IMAP/POP3 mail server: dovecotdoveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-ssl.conf line 53: Unknown setting: ssl_prefer_server_ciphers
 failed!
root@seedbox:/etc/dovecot/conf.d#
Dans le tuto il est demandé d'insérer dans le fichier :
# vim /etc/dovecot/conf.d/10-ssl.conf

ssl = required
ssl_cert = </etc/ssl/certs/mailserver.crt
ssl_key = </etc/ssl/private/mailserver.key
ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_prefer_server_ciphers = yes
ssl_dh_parameters_length = 2048
Sauf que "ssl_prefer_server_ciphers" est apparemment inconnu au bataillon.

J'ai tenté de suivre toute l'aide de ce topic, mais sans grand résultat. Idem sur le net, ou quand bien même le site de Dovecot possède un topic d'aide, il n'y a pas de solution claire. Je sèche...

Une idée ?


Je suis sous Debian 7.8, à jour et programmes up-to-date aussi.


Cordialement

[EDIT] : Je crois que j'ai trouvé... cette instruction a été ajoutée à la version 2.2.x de Dovecot. Or le mien est en 2.1.7... je cherche comment l'upgrader.

[EDIT 2] : Bon voilà, j'ai fait mon update de cette façon :
# Téléchargement et installation de la dernière version en date
cd /tmp
wget http://www.dovecot.org/releases/2.2/dovecot-2.2.18.tar.gz
tar -zxf dovecot-2.2.18.tar.gz
cd dovecot-2.2.18
./configure
make    # Accrochez-vous, c'est trèèèèès long !!! [img]/assets/images/smileys/smile.png[/img]
make install

# Démarrage du service dovecot
service dovecot restart

# Contrôle de la version
dovecot --version
KO, ça n'a pas fonctionné... il est resté en 2.1.7... J'pige pas pourquoi.

#Needhelpthx
@virgo77 ah je savais pas, j'ai rajouté cette directive après être passé sous Debian 8.
Salut Hardware !

Ah ok... tu crois qu'il serait mieux que j'upgrade Debian ? ou je peux simplement décommenter l'instruction ?

Cordialement

[EDIT]
Je viens de redémarrer le serveur et l'upgrade a pris... je suis maintenant en 2.2.18. Seulement, l'instruction continue d'afficher l'erreur si je relance le service...
root@seedbox:~# service dovecot restart
[....] Restarting IMAP/POP3 mail server: dovecotdoveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-ssl.conf line 10: Unknown setting: ssl_prefer_server_ciphers
 failed!
root@seedbox:~#
[EDIT 2]
Bon ben j'ai fait un upgrade vers Debian 8... Tout semble fonctionner normalement, tout comme le serveur de messagerie. Je viens de faire un test d'envoi/réception et ça a été concluant. Me reste plus qu'à continuer le tuto.


Par contre, maintenant, là où ça coince, ce sont les certificats de sécurité de CACert qui a été retiré de Debian 8 Jessie. Je vais donc devoir basculer chez StartSSL pour avoir de nouveaux certificats fonctionnels. ^^

Cordialement
8 jours plus tard
Salut,

Je viens d'essayer le script d'installation automatique qui en passant est une bombe 😛
Je ne suis pas spécialiste linux et loin de la donc si je dit une bêtise quelques part ne me frappé pas

J'ai donc un petit souci avec le script, j'ai spam assasin qui à planté le script visiblement suite à un manque de permission pour la commande make et du coup je voulais essayé de finir l'install à la main mais ça ne semble pas être dans le même sens que le tuto complet.

Ma première question serait donc comment attribué les droit nécessaire à make, sachant que j'ai lancé le script en étant root.
La deuxieme est donc est il possible de relancé le script comme ça, ou il faut tout désinstallé avant sachant qu'une partie a bien du prendre 30min à se faire ?

Ou tout simplement que manque t il pour terminer l'installation manuellement ?

voici le code que j'ai, je suis remonté plus haut si ça peut faciliter une éventuel solution
Unpacking spamc (3.4.0-6) ...
Processing triggers for man-db (2.7.0.2-5) ...
Processing triggers for systemd (215-17+deb8u1) ...
Setting up libdigest-hmac-perl (1.03+dfsg-1) ...
Setting up libsocket6-perl (0.25-1+b1) ...
Setting up libio-socket-inet6-perl (2.72-1) ...
Setting up libnet-ip-perl (1.26-1) ...
Setting up libnet-dns-perl (0.81-2) ...
Setting up libnetaddr-ip-perl (4.075+dfsg-1+b1) ...
Setting up libmail-spf-perl (2.9.0-3) ...
Setting up libsys-hostname-long-perl (1.4-3) ...
Setting up re2c (0.13.5-1) ...
Setting up spamassassin (3.4.0-6) ...
Adding system user `debian-spamd' (UID 116) ...
Adding new group `debian-spamd' (GID 123) ...
Adding new user `debian-spamd' (UID 116) with group `debian-spamd' ...
Creating home directory `/var/lib/spamassassin' ...
Setting up sa-compile (3.4.0-6) ...
Running sa-compile (may take a long time)
sh: 1: make: Permission denied
command 'make >>/tmp/.spamassassin4957RB8c7utmp/log' failed: exit 126
dpkg: error processing package sa-compile (--configure):
 subprocess installed post-installation script returned error exit status 25
Setting up spamc (3.4.0-6) ...
Processing triggers for systemd (215-17+deb8u1) ...
Errors were encountered while processing:
 sa-compile
E: Sub-process /usr/bin/dpkg returned an error code (1)


 /!\ FATAL: Une erreur est survenue pendant l'installation de Spamassassin.

# quelques tests que j'ai fait
sd-24498:/tmp/mailserver-autoinstall# make
make: *** No targets specified and no makefile found.  Stop.
sd-24498:/tmp/mailserver-autoinstall# make >>/tmp/.spamassassin4957RB8c7utmp/log
make: *** No targets specified and no makefile found.  Stop.
sd-24498:/tmp/mailserver-autoinstall#

bon ba même quand je veux installer make ou sa-compile j'ai la même erreur, j'etais pourtant sur que root pouvait tous faire :s
sd-24498:/tmp/mailserver-autoinstall# apt-get install make
Reading package lists... Done
Building dependency tree
Reading state information... Done
make is already the newest version.
make set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up sa-compile (3.4.0-6) ...
Running sa-compile (may take a long time)
sh: 1: make: Permission denied
command 'make >>/tmp/.spamassassin5602TnxPY3tmp/log' failed: exit 126
dpkg: error processing package sa-compile (--configure):
 subprocess installed post-installation script returned error exit status 25
Errors were encountered while processing:
 sa-compile
E: Sub-process /usr/bin/dpkg returned an error code (1)
sd-24498:/tmp/mailserver-autoinstall# apt-get install sa-compile
Reading package lists... Done
Building dependency tree
Reading state information... Done
sa-compile is already the newest version.
sa-compile set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up sa-compile (3.4.0-6) ...
Running sa-compile (may take a long time)
sh: 1: make: Permission denied
command 'make >>/tmp/.spamassassin5640mtEuGptmp/log' failed: exit 126
dpkg: error processing package sa-compile (--configure):
 subprocess installed post-installation script returned error exit status 25
Errors were encountered while processing:
 sa-compile
E: Sub-process /usr/bin/dpkg returned an error code (1)
J'ai jamais rencontré cette erreur, j'ai pas vraiment d'idée... essaye de supprimer le répertoire /var/lib/spamassassin avant de faire l'installation.
merci je vais essayé ça, du coup je tente d'installé que spamassassin ?
Hardware wrote:J'ai jamais rencontré cette erreur, j'ai pas vraiment d'idée... essaye de supprimer le répertoire /var/lib/spamassassin avant de faire l'installation.

Voila j'ai supprimer le dossier mais ça n'a rien changé, j'ai donc tenté une désinstallation de spamassassin avec une purge, et l'install de make n'a plus d'erreur.

Je voulais donc savoir si je relance le script est ce qu'il va reprendre à cet endroit, ou faut il que je desinstall l'ensemble pour le remettre, ou encore finir à la main, dans tous les ça sera demain 😛
Utilise le script de désinstallation puis réinstalle le tout.
Hardware wrote:Utilise le script de désinstallation puis réinstalle le tout.
je m'en suis douté j'ai tenté de l'install par dessus mais il reprend pas

mais il y à une partie qui est assez longue à faire du coup je ferais ça demain, je vous tiendrais au courant pour spamassassin, merci pour l'aide
Bon ba du coup j'ai craqué j'ai recommencé, et j'ai la même erreur au même endroit, j'ai vu dans ton script qu'il me restait que spamassassin, sieve et rainloop à installé. j'aurais voulu les installé a la main du coup.

Le problème étant que c'est le paquet spamassassin qui fait tout sauter, il y à moyen de l'installer d'ailleurs ?