Mail Server Can't Receive Email But Can Send Email - Postfix, Dovecot, MySQL
Solution 1
From the config you posted, you had "mydestination" right, but then you commented it out and just set it to "localhost". This would definitely prevent you from receiving mail from the outside world.
Solution 2
If you are using a residential connection, your ISP has probably blocked inbound SMTP connections on port 25. Since running servers is typically forbidden by the Terms of Service on residential Internet accounts.
Related videos on Youtube
Comments
-
duper51 over 1 year
I have server where I want to set up a mail server to let me receive and send email from my domain. I'm currently having a problem where while I am authorized to send email from the server, but according to the logs, am not authorized to receive email from any provider other than my own network.
I'm going off of this tutorial, which shows how to configure a mail server using Postfix, Dovecot, and using MySQL as the backend (here).
Appropriate logs:
Jan 6 13:55:49 mail postfix/smtpd[26857]: permit_mynetworks: mail-la0-f50.google.com 209.85.215.50 Jan 6 13:55:49 mail postfix/smtpd[26857]: match_hostname: mail-la0-f50.google.com ~? 127.0.0.0/8 Jan 6 13:55:49 mail postfix/smtpd[26857]: match_hostaddr: 209.85.215.50 ~? 127.0.0.0/8 Jan 6 13:55:49 mail postfix/smtpd[26857]: match_hostname: mail-la0-f50.google.com ~? 127.0.0.2/32 Jan 6 13:55:49 mail postfix/smtpd[26857]: match_hostaddr: 209.85.215.50 ~? 127.0.0.2/32 Jan 6 13:55:49 mail postfix/smtpd[26857]: match_hostname: mail-la0-f50.google.com ~? 192.99.104.50/32 Jan 6 13:55:49 mail postfix/smtpd[26857]: match_hostaddr: 209.85.215.50 ~? 192.99.104.50/32 Jan 6 13:55:49 mail postfix/smtpd[26857]: match_hostname: mail-la0-f50.google.com ~? [::1]/128 Jan 6 13:55:49 mail postfix/smtpd[26857]: match_hostaddr: 209.85.215.50 ~? [::1]/128 Jan 6 13:55:49 mail postfix/smtpd[26857]: match_list_match: mail-la0-f50.google.com: no match Jan 6 13:55:49 mail postfix/smtpd[26857]: match_list_match: 209.85.215.50: no match Jan 6 13:55:49 mail postfix/smtpd[26857]: generic_checks: name=permit_mynetworks status=0 Jan 6 13:55:49 mail postfix/smtpd[26857]: generic_checks: name=reject_unauth_destination Jan 6 13:55:49 mail postfix/smtpd[26857]: reject_unauth_destination: [email protected] Jan 6 13:55:49 mail postfix/smtpd[26857]: permit_auth_destination: [email protected]` Jan 6 13:55:49 mail postfix/smtpd[26857]: ctable_locate: leave existing entry key [email protected]` Jan 6 13:55:49 mail postfix/smtpd[26857]: NOQUEUE: reject: RCPT from mail-la0-f50.google.com[209.85.215.50]: 554 5.7.1 <me@d$` Jan 6 13:55:49 mail postfix/smtpd[26857]: generic_checks: name=reject_unauth_destination status=2` Jan 6 13:55:49 mail postfix/smtpd[26857]: > mail-la0-f50.google.com[209.85.215.50]: 554 5.7.1 <[email protected]>: Relay access denied` Jan 6 13:55:49 mail postfix/smtpd[26857]: < mail-la0-f50.google.com[209.85.215.50]: DATA` Jan 6 13:55:49 mail postfix/smtpd[26857]: > mail-la0-f50.google.com[209.85.215.50]: 554 5.5.1 Error: no valid recipients` Jan 6 13:55:49 mail postfix/smtpd[26857]: < mail-la0-f50.google.com[209.85.215.50]: QUIT` Jan 6 13:55:49 mail postfix/smtpd[26857]: > mail-la0-f50.google.com[209.85.215.50]: 221 2.0.0`
My
main.cf
: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 smtpd_tls_cert_file=/etc/ssl/certs/dovecot.pem smtpd_tls_key_file=/etc/ssl/private/dovecot.pem smtpd_use_tls=yes smtpd_tls_auth_only = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes virtual_transport = lmtp:unix:private/dovecot-lmtp virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = duper51.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname #mydestination = duper51.com, mail.duper51.com, localhost mydestination = localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = ipv4
-
duper51 over 9 yearsUnfortunately, in the tutorial, they tell me to set it to localhost, because that way it reads from the MySQL vHosts. I also tried it with the configuration I had and it still didn't work. Same errors in log.
-
Dale Anderson over 9 yearsI'll dig up a working config from one of my mail servers and paste it in here. Will need a day or so to get back to you.
-
duper51 over 9 yearsGreat! Thanks for your help! If you choose to edit your answer with the config I'll make it the actual answer.
-
Dale Anderson over 9 yearsOK, so here's my output from
postconf -n
(non-default config values): pastebin.com/eh14SHW0 - this is a live server with virtual users, spam filtering, etc. So a lot of it may not be relevant, but you should be able to pick through and compare what's different, and hopefully make adjustments. The only thing I've adjusted is to replace actual host / domain names and IP addresses with fake values.