Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a mail server setup on Ubuntu 10.04 using postfix and dovecot. I can receive emails on email client like thunderbird, but I can send emails using the same client. Below is the postfix config file main.cf

# 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 (Ubuntu)
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/smtpd.crt
smtpd_tls_key_file = /etc/ssl/private/smtpd.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.

myhostname = mail.xxx.xxxx
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = xxx.xxxx.xxxx
smtp_bind_address = xxxxxxxxxx
mydestination = mail.xxxxxx, localhost.xxxxxx, localhost, xxxxx
relayhost = 
mynetworks =  127.0.0.0/8, 
mailbox_size_limit = 0
recipient_delimiter = +
#inet_interfaces = all
inet_protocols = all
#home_mailbox = mail/
#home_mailbox = /var/mail/%u
mailbox_command = 
smtpd_sasl_local_domain = 
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
#smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
mail_spool_directory = /var/spool/mail

content_filter = 

#######################################################################################################################################
smtpd_recipient_restrictions = reject_invalid_hostname,
                                reject_non_fqdn_sender,
                                reject_non_fqdn_recipient,
                                reject_unknown_sender_domain,
                                reject_unknown_recipient_domain,
                                reject_unauth_pipelining,
                permit_sasl_authenticated,
                                permit_mynetworks,
                                reject_unauth_destination,
                                reject_rbl_client dnsbl.njabl.org,
                                reject_rbl_client cbl.abuseat.org,
                                reject_rbl_client sbl.spamhaus.org,
#                                check_recipient_mx_access hash:/etc/postfix/recipient_mx_access

smtpd_client_restrictions = permit_mynetworks,
                            permit_sasl_authenticated,
                            permit_inet_interfaces,
                            reject_rbl_client zen.spamhaus.org
                            reject_unknown_reverse_client_hostname

smtpd_sender_restrictions = reject_non_fqdn_sender,reject_unknown_sender_domain
##########################################################################################################################################
#header_checks = regexp:/etc/postfix/header_checks 
share|improve this question
    
You're going to need to be more constructive and provide more detail about what breaks, what you see when it breaks, and what you expect to happen. –  growse Dec 24 '11 at 16:14

1 Answer 1

up vote 2 down vote accepted

The restrictive nature of your main.cf implies that either your SMTP Thunderbird configuration is incorrect, or your authentication is failing, but the best suggestion is to actually use the command-line to explicitly verify SMTP connection to your server, and to monitor the log files to validate each test process:

  1. Use telnet on the command-line to verify SMTP is supported on localhost
  2. Monitor the log file /var/log/maillog(?) to see what Postfix is seeing
  3. Monitor the log file for your sasl authenticator to ensure SASL authentication works.

Of course, you could probably shortcut your diagnostics by removing one option at a time from *smtpd_client_restrictions* to see which option is causing your problem and then correct that.

Look at the SMTP configuration for Thunderbird, it could be that configuration is not compatible with the stringent restrictions you've specified in the above main.cf.

It is possible that you've set up SMTP on Thunderbird to point to the Public (or Private) IP Address of your Postfix server. The above main.cf configuration requires the SMTP server to listening only to traffic from 127.0.0.0/8.

Either add your private IP address range to the above mynetworks=127.0.0.0/8 or modify the Thunderbird SMTP configuration to use localhost:

You also require *permit_sasl_authenticated* so your client needs this specified. If you remove the option in main.cf (restart postfix) and your smtp works, then this may be an error in your client configuration, or how your authentication is set up.

As mentioned by others, the more information your provide in log/configuration together with the diagnostic work you've already performed, the easier it is for others to help you.

Your postfix configuration and problem is interdependent with dovecot and the client configuration. The logs may be difficult to understand at first, but they are a great resource.

Best of luck,

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.