0

I've a Postfix + Dovecot set up in my Parabola (Arch based) installation. It looks like it works, I can send emails to any address and it works, and also receive mails but only from local addresses.

If I do mail my@domain.org, I get the email (like auto sending me an email). But if I do from another email account, an external one, I simply do not receive it.

All the ports work locally, but if I try to telnet [my_public_IP] 25 (or 587) it fails (I'll ask my ISP what's happening).

More outputs:

$ postconf -n
alias_database = $alias_maps
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/bin
compatibility_level = 2
daemon_directory = /usr/lib/postfix/bin
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
html_directory = no
inet_interfaces = localhost # I've tried using my IP address, with no luck
inet_protocols = all
mail_owner = postfix
mailbox_size_limit = 134217728
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
message_size_limit = 134217728
meta_directory = /etc/postfix
mydomain = eumela.ga
myhostname = smtp.eumela.ga
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix
sample_directory = /etc/postfix
sendmail_path = /usr/bin/sendmail
setgid_group = postdrop
shlib_directory = /usr/lib/postfix
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = /var/run/dovecot/auth-client
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_cert_file = /etc/letsencrypt/live/eumela.ga/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/eumela.ga/privkey.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
unknown_local_recipient_reject_code = 550
virtual_alias_domains = $mydomain
virtual_alias_maps = hash:/etc/postfix/virtual

$ cat /etc/dovecot/dovecot.conf
protocols = imap pop3
auth_mechanisms = plain
passdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf
}
userdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf
}

service auth {
    unix_listener /var/spool/postfix/private/auth {
        group = postfix
        mode = 0660
        user = postfix
    }
    user = root
}
#service auth {
# inet_listener {
#   port = 587
# }
#}
mail_home = /home/vmail/%d/%n
mail_location = maildir:~

ssl_cert = </etc/letsencrypt/live/eumela.ga/fullchain.pem
ssl_key = </etc/letsencrypt/live/eumela.ga/privkey.pem

Output of 10-auth.conf, 10-mail.conf, 10-master.conf, 10-ssl.conf and 20-imap.conf (from /etc/dovecot/conf.d)


Update: Here is the log from today, August 24. It's a combination of mail.log, mail.err and mail.info

migrated from stackoverflow.com Aug 27 '17 at 7:13

This question came from our site for professional and enthusiast programmers.

1
inet_interfaces = localhost # I've tried using my IP address, with no luck`

if you are only listening on localhost your smtp server will not be reachable from the outside. you should probably change this to all. cf. http://www.postfix.org/postconf.5.html#inet_interfaces

after restarting the postfix service you can check with netstat -tulpn on what interfaces and ports your server is listening.

if postfix is listening on all interfaces on port 25 but still not reachable from the outside you should check your firewall settings

  • I would give you a +1 if I had enough reputation.... It worked, I can now do telnet mydomain.eg 25 and also with 465 and 587, but I still can't receive emails from outside and set up the account in a client (e.g. Thunderbird in my case). Here's the output of netstat -tulpn – Megver83 Aug 28 '17 at 17:07
0

thanks to @Stefan's answer, but I had to also do:

$ sudo postconf -e 'mydestination = localhost.$mydomain, localhost, $mydomain'

And now I can receive mails from outside...

P.S: Can I specify 'all' in 'mydestination'?

  • Can I specify 'all' in 'mydestination'? no, you can't – ALex_hha Aug 28 '17 at 18:04

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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