Назад | Перейти на главную страницу

Сервер ретрансляции SMTP Postfix

Я использую gmail для получения писем как с моего адреса gmail, так и с моего собственного домена, но gmail больше не позволяет вам отправлять электронные письма с вашего собственного доменного имени, если вы не предоставите свой собственный SMTP-сервер для отправки через.

Поэтому я пытаюсь настроить Postfix на сервере Ubuntu для ретрансляции электронной почты с любого удаленного устройства на целевой адрес электронной почты в электронной почте. Я хочу, чтобы сервер только ретранслировал электронные письма с моего домена (только если он прошел аутентификацию) и не сохранял электронные письма на сервере в почтовых ящиках пользователей.

В настоящее время я могу ретранслировать электронные письма с определенного исходного адреса, однако электронные письма, отправленные на адрес Gmail, возвращаются при ретрансляции. Если я использую sendmail с самого сервера, Gmail не отскакивает от него, что доказывает, что Gmail может получать электронные письма с моего сервера. Но когда электронные письма пересылаются, я получаю от Gmail следующее сообщение:

status=bounced (host gmail-smtp-in.l.google.com[2a00:1450:400c:c00::1a] said:
550-5.7.1 [2001:41d0:a:f9a0::1      12] Our system has detected that this
550-5.7.1 message is likely unsolicited mail.
To reduce the amount of spam sent 550-5.7.1 to Gmail, this message has been
blocked. Please visit 550-5.7.1
http://support.google.com/mail/bin/answer.py?hl=en&answer=188131 for 550 5.7.1 more information. n6si25532296wjy.39
 - gsmtp (in reply to end of DATA command))

Я также попытался использовать проверки заголовков, чтобы удалить все заголовки, которые показали, что электронное письмо было отправлено другим клиентом, прежде чем оно достигло сервера. Но это не помогло.

Большая часть информации, которую я нахожу, касается ретрансляции всех моих писем через Gmail, чего я не хочу делать. Я просто сервер, который действует как последний MTA, который будет отправлять электронные письма непосредственно на почтовый сервер получателя, не считаясь спамом.

Моя текущая конфигурация постфикса:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

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

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = {@mydomain.com}
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = {@mydomain.com}, {server_hostname}, localhost
relayhost =
mynetworks = {my_ip_address} 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

# Strip received from headers to hide original remote client address
mime_header_checks = regexp:/etc/postfix/header_checks
header_checks = regexp:/etc/postfix/header_checks
smtp_header_checks = regexp:/etc/postfix/header_checks

Вы почти наверняка столкнетесь с несоответствующими записями DNS. В вашем случае, использующем транспорт IPv6, записи AAAA и PTR должны соответствовать исходному адресу (ам) MTA, а также соответствовать имени EHLO, на которое вы претендуете.