[Solved] Validate email address at my own domain with gmail
I need to have the ability to send email using gmail's web interface, using my own email address (
Gmail's response is "Your other email provider is responding too slowly. Please try again later, or contact the administrator of your other domain for further information." - can't get more details than that from them.
I set up Postfix, Dovecot, MariaDB for Centos 7 according to linode's tutorial and I tried to adapt to my needs some of the instructions found here:
I'm able to send email using postfix as my smtp server and I postfix set up to forward any email coming to my domain to my gmail account. This works perfectly well. I also checked my smtp server with mxtoolbox.com and it also finds everything in order.
I'm including below an excerpt from postfix's log. The only thing that jumps out to me is "matchlistmatch: mail-yk0-f169.google.com: no match" on line #11 and another on line #12.
Thanks in advance for all your help and apologies if I'm including too much information, but I've been at this for two days already and not getting anywhere.
Alex
The following are all the active lines in /etc/postfix/main.cf:
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
inet_interfaces = all
inet_protocols = all
mydestination = localhost, localhost.localdomain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
#alexw- added google
debug_peer_list = google.com
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
myhostname = mail.tcs-usa.com
mydomain = tcs-usa.com
myorigin = tcs-usa.com
#mynetworks = 127.0.0.0/8
message_size_limit = 30720000
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
# alexw - removed permit_mynetworks from line below
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
# The next 2 lines are the settings for using dovecot's ssl certificates:
# smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
# smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
# Replacing the above two lines with this one:
smtpd_tls_cert_file = /etc/postfix/tcs-usa.pem
virtual_create_maildirsize = yes
virtual_maildir_extended = yes
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
And here are the active lines from master.cf:
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
#smtp inet n - n - 1 postscreen
#smtpd pass - - n - - smtpd
#dnsblog unix - - n - 0 dnsblog
#tlsproxy unix - - n - 0 tlsproxy
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-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=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o smtpd_tls_cert_file=/etc/postfix/tcs-usa.pem
# alexw - added the line above (smtpd_tls_cert_file)
smtps inet n - n - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-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=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
#628 inet n - n - - qmqpd
pickup unix n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: connect from mail-yk0-f169.google.com[209.85.160.169]
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: smtpstreamsetup: maxtime=300 enable_deadline=0
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: match_hostname: mail-yk0-f169.google.com ~? 127.0.0.0/8
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: match_hostaddr: 209.85.160.169 ~? 127.0.0.0/8
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: match_hostname: mail-yk0-f169.google.com ~? 45.79.184.0/24
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: match_hostaddr: 209.85.160.169 ~? 45.79.184.0/24
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: match_hostname: mail-yk0-f169.google.com ~? [::1]/128
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: match_hostaddr: 209.85.160.169 ~? [::1]/128
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: match_hostname: mail-yk0-f169.google.com ~? [fe80::]/64
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: match_hostaddr: 209.85.160.169 ~? [fe80::]/64
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: matchlistmatch: mail-yk0-f169.google.com: no match
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: matchlistmatch: 209.85.160.169: no match
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: autoclntopen: connected to private/anvil
Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: eventenableread: fd 18
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: send attr request = connect
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: send attr ident = submission:209.85.160.169
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: vstreamfflushsome: fd 18 flush 49
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: vstreambufget_ready: fd 18 got 25
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: private/anvil: wanted attribute: status
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute name: status
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute value: 0
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: private/anvil: wanted attribute: count
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute name: count
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute value: 1
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: private/anvil: wanted attribute: rate
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute name: rate
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute value: 1
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: private/anvil: wanted attribute: (list terminator)
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute name: (end)
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: > mail-yk0-f169.google.com[209.85.160.169]: 220 mail.tcs-usa.com ESMTP Postfix
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: watchdog_pat: 0x56163ce15080
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: vstreamfflushsome: fd 17 flush 36
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: smtp_get: EOF
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: match_hostname: mail-yk0-f169.google.com ~? 127.0.0.0/8
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: match_hostaddr: 209.85.160.169 ~? 127.0.0.0/8
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: match_hostname: mail-yk0-f169.google.com ~? 45.79.184.0/24
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: match_hostaddr: 209.85.160.169 ~? 45.79.184.0/24
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: match_hostname: mail-yk0-f169.google.com ~? [::1]/128
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: match_hostaddr: 209.85.160.169 ~? [::1]/128
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: match_hostname: mail-yk0-f169.google.com ~? [fe80::]/64
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: match_hostaddr: 209.85.160.169 ~? [fe80::]/64
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: matchlistmatch: mail-yk0-f169.google.com: no match
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: matchlistmatch: 209.85.160.169: no match
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: send attr request = disconnect
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: send attr ident = submission:209.85.160.169
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: vstreamfflushsome: fd 18 flush 52
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: vstreambufget_ready: fd 18 got 10
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: private/anvil: wanted attribute: status
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute name: status
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute value: 0
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: private/anvil: wanted attribute: (list terminator)
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: input attribute name: (end)
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: lost connection after CONNECT from mail-yk0-f169.google.com[209.85.160.169]
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: disconnect from mail-yk0-f169.google.com[209.85.160.169]
5 Replies
Thanks for looking at it. Gmail gives me the error message around 8 seconds after I click the button to have it proceed with the verification. At least that's consistent every time.
As I said, I've googled this to death and there's only a handful of hits from people having the same issue. I have a feeling it's got to do with the certificate somehow, but there's no way to know as gmail's not giving me any clues.
If I do come up with a solution, I'll post it here.
Thanks!
Alex
> Dec 6 01:20:12 ewr postfix/submission/smtpd[13344]: connect from mail-yk0-f169.google.com[209.85.160.169]
…
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: lost connection after CONNECT from mail-yk0-f169.google.com[209.85.160.169]
Dec 6 01:20:13 ewr postfix/submission/smtpd[13344]: disconnect from mail-yk0-f169.google.com[209.85.160.169]
The Google machine isn't sending anything, not even an EHLO - it's just closing the connection. I suspect it's something to do with TLS negotiation. Your configuration on port 587 uses STARTTLS; do you have Gmail configured to use that?
As promised, I'm posting a solution now that I found it: instead of using the name of the server smtp.mydomain.com, the problem went away as soon as I used the server's IP address. Google was able to verify and now I can send emails from my gmail account without gmail or google showing up in the from: or sender: fields.
More than likely, it's related to the way my dns record is set up but I think I'll hold off on trying to figure it out now that it's working.
Found the solution at
Alex