J'ai réussi à configurer postfix
et dovecot
avec certificat auto-signé sur mon serveur. Je peux envoyer et recevoir des e-mails à l'aide de la commande Telnet là-bas. Maintenant, je veux me connecter à mon serveur de messagerie d'un client Thunderbird sur mon ordinateur portable, mais il échoue et voici la sortie de /var/log/mail.log
:
postfix/submission/smtpd[11560]: connect from unknown[95.134.50.75]
postfix/submission/smtpd[11439]: SSL_accept error from unknown[95.134.50.75]: lost connection
postfix/submission/smtpd[11439]: lost connection after CONNECT from unknown[95.134.50.75]
Voici une partie de /etc/postfix/master.cf
que j'ai changé la configuration:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - - - - smtpd
smtps inet n - - - - smtpd
#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_wrappermode=yes
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
Et voici mon /etc/postfix/main.cf
:
myhostname = mail.myserver.com
myorigin = /etc/mailname
mydestination = mail.myserver.com, myserver.com, localhost, localhost.localdomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
smtpd_tls_cert_file=/etc/ssl/certs/mailcert.pem
smtpd_tls_key_file=/etc/ssl/private/mail.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
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtp_tls_loglevel = 1
smtpd_tls_loglevel = 1
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
inet_protocols = all
En outre, je ne sais pas si cela peut aider mais à la fois telnet localhost 25
et telnet localhost 465
Travailler sur le serveur mais seulement telnet myserver.com 465
fonctionne de mon ordinateur portable, quand j'essaie du port 25, il dit telnet: Unable to connect to remote Host: Connection timed out
. ufw
est inactif sur le serveur.
Que dois-je faire pour le réparer?
Le port 465 est destiné à SMTPS, il utilise immédiatement SSL lors de l'établissement de la connexion, puis utilise le même protocole SMTP que celui que l'on trouve normalement sur le port 25 après la mise en place de la connexion sécurisée. Vous testez de la ligne de commande avec:
openssl s_client -connect smtp.example.com:465
L'utilisation de Telnet pour vous connecter au port 465 entraînera un message d'erreur dans les fichiers journaux, car le protocole SSL n'est pas utilisé.
Juste pour la complétude: Testez TLS sur le port SMTP normal, TCP/25
openssl s_client -starttls smtp -connect smtp.example.com:25
La seule fois où j'ai vu cela, c'est lorsque Postfix bloque le client en raison de paramètres TLS/SSL restrictifs:
smtpd_tls_protocols =! SSLV2,! SSLV3
Si votre client de messagerie tente d'utiliser SSL2 ou 3, ce serait pourquoi. Sinon, cela pourrait également être dû à un blocage, mais vous pensez que le port serait totalement bloqué et que vous ne verriez pas la connexion client normalement (par exemple, mon port de blocage ISP est complètement et en essayant de vous connecter à un serveur de messagerie. ne voyez rien dans les journaux).