I have a Crunchbang Debian LAMP server which I use to host some Mailing list applications. I also use it at a mail server running Dovecot and Postfix.

Postfix is configured to relay to my Pro SMTP server account. Any email sent via application internally is sent perfectly via relay and any email sent to a user on my machine is received and Dovecot functions well as an IMAP Server. I can log into my machine from outside the LAN and read IMAP mails for any user.

However, when I try to use Postfix from outside my network to send email via my relay the application trying to authenticate to Postfix as an SMTP just stalls or fails ..

I am presuming that Postfix requires the same authentication as in via a Unix User and their associated password .. and have tried several different configs to now avail.

Do I have to use another Port to relay via my Postfix config?

My main.cf reads :-

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

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
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_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.

myhostname = italchemists.twilightparadox.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = italchemists.twilightparadox.com, italchemists-server, localhost.localdomain, localhost
relayhost = [pro.turbo-smtp.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_sasl_password_map
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
mynetworks = [::ffff:]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/
smtpd_recipient_restrictions = permit_sasl_authenticated

smtpd_tls_security_level = may
smtpd_delay_reject = no
  • you want to use a mail client to send a mail via your SMTP server, do I get this right? Commented Jan 6, 2014 at 14:14

2 Answers 2


I had the same problem. Many internet providers are blocking port 25, also mine was. Verify it like this:

Connect to your mail server (in this example linuxintro.org) from home:

# telnet ''linuxintro.org'' 25

The server responds:

Trying ''''...
Connected to ''linuxintro.org''.
Escape character is '^]'.
220 ''mail.linuxintro.org'' ESMTP Postfix

If you are missing the response "Connected to...", your internet provider is probably blocking port 25.

In this case set up a mail server on port 587

  • slm, I did that Commented Jan 6, 2014 at 18:02
  • I think I am also confusing smptd sasauthd and TLS I am unable to verify if Cyrus SASauthd is running on my system but associated libraries appear installed. I will check port 25...And thanks for your help! Commented Jan 6, 2014 at 19:24
  • smtpd is the mail transfer service responsible for sending and receiving mails. To read your mail, your mail client, e.g. thunderbird, will talk with an IMAP or POP service that accesses (not transfers) the mails. saslauthd is needed to authenticate towards your SMTP service (mostly postfix) so you can give it mails for sending. tls has something to do with cryptography. Commented Jan 6, 2014 at 20:40
  • How to find out if saslauthd is running depends on your distribution. Try /etc/init.d/saslauthd status. Commented Jan 6, 2014 at 20:43

First things first, MAILLOG. The mail log is the first place you must go whenever you suspect problems with emailling. (you can also enable more verbose if you want). It would tell you if your remote is actually reaching the postfix smtp. And whatever issue Postfix is having.

A nice trick to troubleshoot remote connections is to use linux's command to observe in realtime your mail log while you make attemps to connect.

Without the maillog most answers would simply be speculation.

One last note. You might consider using the master.cf to configure both smtp and smtps individual processes, instead of main.cf

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .