2

I need to have the ability to send email using gmail's web interface, but have them appear to originate from my own domain instead of originating at a gmail address. In order to do this, gmail asks for my smtp server's information (url, account, etc.) and proceeds to validate that, indeed, I'm allowed to send email from said domain using my own smtp server (postfix, hosted in my linode).

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 for Centos 7 and I tried to adapt to my needs some of the instructions found in a tutorial by Chuan Ji titled "Custom domain emails with postfix and gmail" (i.e. I generated a single .pem file based on the advice there, including my smtp server's name as the common name - mail.tcs-usa.com in the certificate in order to make gmail happy).

I'm able to send email with Thunderbird using postfix as my smtp server and I have postfix configured to forward incoming emails addressed to any address in 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 "match_list_match: 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}

This is the log excerpt relevant to gmail trying to validate my smtp server:

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]: smtp_stream_setup: 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]: match_list_match: mail-yk0-f169.google.com: no match
Dec  6 01:20:12 ewr postfix/submission/smtpd[13344]: match_list_match: 209.85.160.169: no match
Dec  6 01:20:12 ewr postfix/submission/smtpd[13344]: auto_clnt_open: connected to private/anvil
Dec  6 01:20:12 ewr postfix/submission/smtpd[13344]: event_enable_read: 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]: vstream_fflush_some: fd 18 flush 49
Dec  6 01:20:13 ewr postfix/submission/smtpd[13344]: vstream_buf_get_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]: vstream_fflush_some: 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]: match_list_match: mail-yk0-f169.google.com: no match
Dec  6 01:20:13 ewr postfix/submission/smtpd[13344]: match_list_match: 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]: vstream_fflush_some: fd 18 flush 52
Dec  6 01:20:13 ewr postfix/submission/smtpd[13344]: vstream_buf_get_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]
Moshe Katz
  • 3,053
  • 3
  • 26
  • 41
alex_223
  • 70
  • 1
  • 8
  • What? Nobody? I know it's a weird problem, I've googled it to death, but I can't believe that no one else has stumbled on a similar situation. – alex_223 Dec 08 '15 at 03:04

1 Answers1

0

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 http://bit.ly/1NTmSqz

Alex

alex_223
  • 70
  • 1
  • 8