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

Postfix removes <user>@ с адреса электронной почты получателя при отправке с локального хоста</user>

Я установил локальный почтовый сервер с помощью Postfix в тестовых целях. Я следил за этим руководство чтобы настроить почтовый сервер Postfix «Только локальный», и я также установил Thunderbird для тестирования.

Почтовый сервер отлично работает, когда я отправляю электронное письмо на другой адрес localhost, например, я использовал localhost.com в качестве имени домена, и когда я отправляю его на random_user@localhost.com, он всегда отправляется во входящие пользователя по умолчанию. Но в тот момент, когда я пытаюсь отправить письмо, чтобы сказать, что адрес Gmail, Postfix пытается отправить электронное письмо на gmail.com что приводит к ошибке Recipient address rejected: gmail.com. Таким образом, он удаляет <user>@ часть адреса электронной почты, и я не понимаю, почему.

Мне нужен почтовый сервер для отправки только исходящих писем, я пробовал следовать инструкциям по этой ссылке http://www.postfix.org/STANDARD_CONFIGURATION_README.html#null_client но я не могу узнать, как зовут мою машину (postconf -d myhostname" не работает).

Вот конфигурации, которые у меня есть сейчас:

main.cf

# 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 = maurice-HP-ProDesk-400-G4-MT.fun.local
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = system_mail_name, $myhostname, maurice-HP-ProDesk-400-G4-MT, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
default_transport = error
relay_transport = error
inet_protocols = all
virtual_alias_maps = hash:/etc/postfix/virtual

виртуальный файл

@localhost maurice
@localhost.com maurice

Эта ошибка, вероятно, вызвана не Gmail, а вашим собственным сервером. Это error транспорт, вызывающий ошибку. man error говорит:

В зависимости от имени службы в master.cf, error или retry, сервер возвращает или откладывает всех получателей в запросе доставки, используя информацию «следующего перехода» в качестве причины недоставки.

информация о следующем переходе gmail.com в твоем случае

Я говорю «возможно», потому что вы предоставили только часть лог-строки.

Удали это default_transport = error. Пусть будет по умолчанию, smtp. Единственное, что он делает наверняка - полностью отключает исходящий трафик.

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