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

Новый почтовый сервер не может отправлять электронные письма, только получает

Я настраиваю новый почтовый сервер для своей компании с Ubuntu Server 11.04 и postfix / dovecot. Я новичок в этом, поэтому у меня есть некоторые проблемы. Я получаю, что он работает только для получения писем с любого адреса за пределами локальной сети, и я могу отправлять только для того же домена. Если я попытаюсь отправить с ним новое сообщение на внешний адрес (например, Gmail), у меня будет Relay denied.

Итак, у моего сервера было 2 сетевых интерфейса, 1 для моей локальной сети (192.168.1.xxx) и один - общедоступный статический IP-адрес. Мой домен для тестирования pourpose: enti.centropaghe.it и я создаю MX запись в mail.enti.centropaghe.it

Моя цель - получить полнофункциональный сервер imap / smtp / pop3 с аутентификацией на обеих сторонах, и он может отправлять электронную почту на все адреса :)

Я публикую часть своего файла конфигурации, чтобы вы могли его выкопать:

/etc/postfix/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_use_tls=yes
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
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.

mydomain = enti.centropaghe.it
myhostname = mail.enti.centropaghe.it
mydestination = $myhostname, localhost.$mydomain, $mydomain, localhost
relayhost = $mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
default_transport = error
relay_transport = error
mail_spool_directory = /var/mail/

/etc/resolv.conf

search enti.centropaghe.it
nameserver 192.168.1.221 #is my dns server on my lan

/ etc / hosts

127.0.0.1       localhost.localdomain localhost
192.168.1.148   mail.enti.centropaghe.it darwin

Dig enti.centropaghe.it mx

; <<>> DiG 9.7.3 <<>> enti.centropaghe.it mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65356
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; QUESTION SECTION:
;enti.centropaghe.it.           IN      MX

;; ANSWER SECTION:
enti.centropaghe.it.    8381    IN      MX      10 mail.enti.centropaghe.it.

;; AUTHORITY SECTION:
centropaghe.it.         71334   IN      NS      dns2.telemar.it.
centropaghe.it.         71334   IN      NS      dns.telemar.it.

;; ADDITIONAL SECTION:
mail.enti.centropaghe.it. 7333  IN      A       213.178.198.62
dns.telemar.it.         28595   IN      A       213.178.196.1
dns2.telemar.it.        20154   IN      A       213.178.195.254

;; Query time: 1 msec
;; SERVER: 192.168.1.221#53(192.168.1.221)
;; WHEN: Wed Feb 29 15:24:47 2012
;; MSG SIZE  rcvd: 151

копать enti.centropaghe.it любой

; <<>> DiG 9.7.3 <<>> enti.centropaghe.it any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58752
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3

;; QUESTION SECTION:
;enti.centropaghe.it.           IN      ANY

;; ANSWER SECTION:
enti.centropaghe.it.    8342    IN      MX      10 mail.enti.centropaghe.it.
enti.centropaghe.it.    7266    IN      A       213.178.198.58

;; AUTHORITY SECTION:
centropaghe.it.         71295   IN      NS      dns2.telemar.it.
centropaghe.it.         71295   IN      NS      dns.telemar.it.

;; ADDITIONAL SECTION:
mail.enti.centropaghe.it. 7294  IN      A       213.178.198.62
dns.telemar.it.         28556   IN      A       213.178.196.1
dns2.telemar.it.        20115   IN      A       213.178.195.254

;; Query time: 0 msec
;; SERVER: 192.168.1.221#53(192.168.1.221)
;; WHEN: Wed Feb 29 15:25:27 2012
;; MSG SIZE  rcvd: 167

/var/log/mail.log

Feb 29 17:11:10 darwin postfix/smtpd[8207]: warning: 213.178.xxx.xxx: hostname ip.213.178.xxx.xxx.telemar.it verification failed: Name or service not known
Feb 29 17:11:10 darwin postfix/smtpd[8207]: connect from unknown[213.178.xxx.xxx]
Feb 29 17:11:10 darwin postfix/smtpd[8207]: NOQUEUE: reject: RCPT from unknown[213.178.xxx.xxx]: 554 5.7.1 <username@gmail.com>: Relay access denied; from=<otherusername@enti.centropaghe.it> to=<username@gmail.com> proto=ESMTP helo=<[192.168.1.138]>
Feb 29 17:11:13 darwin postfix/smtpd[8207]: disconnect from unknown[213.178.xxx.xxx]

postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mail_spool_directory = /var/mail/
mailbox_size_limit = 0
mydestination = $myhostname, localhost.$mydomain, $mydomain, localhost
mydomain = enti.centropaghe.it
myhostname = mail.enti.centropaghe.it
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24
myorigin = $mydomain
readme_directory = no
recipient_delimiter = +
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

Надеюсь, это все. Если вам нужно что-то еще, дайте мне знать.

Обновить

С последними изменениями, теперь, используя внутренний IP-адрес smtp, я могу отправлять электронную почту на внешний адрес. Но не работает с mail.enti.centropaghe.it

Из вашего main.cf:

default_transport (по умолчанию: smtp) Ты использовал: default_transport = ошибка

Транспорт доставки почты по умолчанию и место назначения следующего перехода для мест назначения, которые не соответствуют $ mydestination, $ inet_interfaces, $ proxy_interfaces, $ virtual_alias_domains, $ virtual_mailbox_domains или $ relay_domains

Ну вот и все. Удалите эту строку. Вы хотите использовать SMTP для отправки электронной почты, не относящейся к вашему домену. Прямо сейчас вы заставили себя выполнять только локальную доставку (любая почта, которая должна идти куда-либо за пределы этой машины, не будет принята). Вот почему вы можете получать почту, но ничего, что не принято этим хостом, не пересылается.


relayhost (по умолчанию: пусто) Ты использовал: relayhost = $ mydomain

Адресат следующего перехода нелокальной почты; переопределяет нелокальные домены в адресах получателей. Эта информация отменяется функцией relay_transport ...

Это определенно влияет на вещи. Если у вас нет другого SMTP-сервера, который прослушивает enti.centropaghe.it, и вы хотите, чтобы вся почта проходила через него, ваша почта снова никуда не денется. Вероятно, вам следует удалить эту строку.


relay_transport (по умолчанию: реле) Ты использовал: relay_transport = ошибка

Транспорт для доставки почты по умолчанию и место назначения следующего перехода для удаленной доставки в домены, перечисленные в $ relay_domains. В порядке убывания приоритета назначение следующего перехода берется из $ relay_transport, $ sender_dependent_relayhost_maps, $ relayhost или из домена получателя

Я не вижу $ relay_domains, поэтому предлагаю удалить это.

Обновить

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

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24

Сообщите мне, как это работает для вас.