Мне нужно иметь возможность отправлять электронную почту с помощью веб-интерфейса gmail, но чтобы они исходили из моего собственного домена, а не с адреса gmail. Для этого gmail запрашивает информацию о моем SMTP-сервере (URL-адрес, учетную запись и т. Д.) И проверяет, действительно ли мне разрешено отправлять электронную почту из указанного домена, используя мой собственный SMTP-сервер (postfix, размещенный в моем линод).
Gmail отвечает: «Другой поставщик услуг электронной почты отвечает слишком медленно. Повторите попытку позже или обратитесь к администратору другого вашего домена для получения дополнительной информации». - не могу получить от них более подробную информацию.
Настроил Postfix, Dovecot, MariaDB для Centos 7 согласно Учебник Линоде для Centos 7 и я попытался приспособить к своим потребностям некоторые инструкции, содержащиеся в учебнике Чуан Джи под названием «Электронные письма пользовательского домена с postfix и gmail» (т.е. я создал один файл .pem на основе приведенных там советов, включая имя моего smtp-сервера как общее имя - mail.tcs-usa.com в сертификате, чтобы сделать Gmail счастливым).
Я могу отправлять электронную почту с помощью Thunderbird, используя postfix в качестве моего smtp-сервера, и у меня есть postfix, настроенный для пересылки входящих писем, адресованных на любой адрес в моем домене) на мою учетную запись gmail. Это прекрасно работает. Я также проверил свой smtp-сервер с помощью mxtoolbox.com, и он тоже нашел все в порядке.
Ниже я привожу отрывок из журнала postfix. Единственное, что мне приходит в голову, это «match_list_match: mail-yk0-f169.google.com: нет совпадения» в строке № 11 и еще одно в строке № 12.
Заранее благодарю за вашу помощь и извиняюсь, если я включаю слишком много информации, но я занимаюсь этим уже два дня и ничего не добился.
Alex
Ниже перечислены все активные строки в /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
А вот активные строки из 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}
Это отрывок из журнала, имеющий отношение к gmail, пытающемуся проверить мой smtp-сервер:
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]
Как и обещал, я публикую решение сейчас, когда я его нашел: вместо использования имени сервера smtp.mydomain.com проблема исчезла, как только я использовал IP-адрес сервера. Google смог проверить, и теперь я могу отправлять электронные письма из своей учетной записи gmail без отображения gmail или google в полях from: или sender:.
Скорее всего, это связано с тем, как настроена моя запись DNS, но я думаю, что я воздержусь от попыток выяснить это сейчас, когда она работает.
Нашел решение на http://bit.ly/1NTmSqz
Alex