Cant change port 25 in postfix
Hi, I'm quite new to Linode and Postfix. I'm trying to set up a mail server on my linode with postfix, dovecot and mysql. I have LAMP server with multiple sites on Debian 11.
I followed the guide https://www.linode.com/docs/guides/email-with-postfix-dovecot-and-mysql/ and https://www.linode.com/docs/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/ but still I can't send and receive emails. When I send an email to a gmail account, it tries to send via port 25 while I disabled this.
(connect to alt2.gmail-smtp-in.l.google.com[142.251.9.27]:25: Connection timed out)
I can telnet into port 25. I read about relayhost but I don't prefer this because I don't want to pay anything extra and be limited in my number of emails.
Part of my main.cf
# 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_auth_only = yes
smtp_tls_security_level = may
smtpd_tls_received_header = yes
smtpd_tls_security_level=may
smtp_tls_CApath=/etc/ssl/certs
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options = noanonymous
# Authentication
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
Restrictions
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unlisted_recipient,
reject_unauth_destination
smtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_unknown_sender_domain
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
part of master.cf file:
==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (no) (never) (100)
# ==========================================================================
#smtp inet n - - - - smtpd
2525 inet n - y - - smtpd
#smtp inet n - y - 1 postscreen
smtpd pass - - - - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 0 tlsproxy
submission inet n - - - - smtpd
#6000 inet n - n - - smptd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_tls_auth_only=yes
-o smtpd_reject_unlisted_recipient=no
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd -v
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
Can someone help me changing postfix smtp port to something other than port 25 so I can connect with gmail forexample without having a relayhost? I already search a lot in this community and on Google. I tried a lot but nothing worked.
2 Replies
✓ Best Answer
- Launch a terminal, become the root user and edit the master.cf file located in /etc/postfix directory:
sudo vi /etc/postfix/master.cf
- Look for the line:
smtp inet n - n - - smtpd
- Replace "smtp" with the port number that postfix should listen on, save the file and restart postfix.
Given the exposition of your problem, I'm not so sure you really want to do this. Port 25 is used for mail relay (a mail server transferring messages to another mail server). I'm pretty sure you want to use port 587 (submission) or port 465 (smtps) to submit email to gmail.
It would really surprise me if gmail was using port 25 at all except in the most special of special cases. They're probably using port 465 (smtps) -- which requires you to authenticate to them beforehand — that's why your connection is timing out.
It’s pretty easy to configure postfix to listen on all of ports 25, 465 & 587…
Anyway, I've answered your question but I take no responsibility for any damage you cause or costs you incur.
-- sw
P.S. Did you take care of this too?