Я выполняю почтовый сервер на Ubuntu 12.04, и поле имеет веб-сервер + Почтовый сервер (Постфикс + Голубятня). Это - установка Виртуальной машины на облаке Windows Azure.
Проблема: я не могу послать электронные письма вне сети. Следующее является конфигурацией и журналами.
Постфикс:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
dovecot_destination_recipient_limit = 1
inet_interfaces = all
mailbox_size_limit = 0
mydestination = abc.cloudapp.net, localhost.abc.cloudapp.net, localhost
myhostname = abc.cloudapp.net
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
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
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_transport = dovecot
Голубятня:
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-65-virtual x86_64 Ubuntu 12.04.4 LTS ext4
auth_mechanisms = plain login
mail_location = maildir:/var/vmail/%d/%n/Maildir
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = " imap sieve pop3"
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = vmail
user = vmail
}
}
ssl_cert = </etc/ssl/certs/mailserver.pem
ssl_key = </etc/ssl/private/mailserver.pem
userdb {
args = uid=vmail gid=vmail home=/var/vmail/%d/%n
driver = static
}
protocol lda {
mail_plugins = " sieve"
}
/var/log/mail.log
Jul 9 08:40:11 layfootak postfix/smtpd[44127]: connect from unknown[87.109.35.199]
Jul 9 08:40:12 layfootak postfix/smtpd[44127]: NOQUEUE: reject: RCPT from unknown[87.109.35.199]: 554 5.7.1 <raheel@layfootak.com>: Relay access denied; from=<abc@example.com> to=<abc@otherdomain.com> proto=ESMTP helo=<[127.0.0.1]>
Я могу настроить и получить электронные письма правильно с почтовым клиентом Thunderbird Mozilla. Это показывает мой ящик входящих сообщений правильно, но когда я посылаю электронное письмо другому адресу электронной почты как внешняя сеть затем, это дает Релейный доступ запрещен; от = до = proto=ESMTP привет = <[127.0.0.1]>
Советуйте мне.
Я решил проблему после установки после постфиксной конфигурации для конфигурации Передачи SMTP:
sudo postconf -e smtpd_sasl_type=dovecot
sudo postconf -e smtpd_sasl_path=private/auth
sudo postconf -e smtpd_sasl_auth_enable=yes
sudo postconf -e smtpd_tls_security_level=may
sudo postconf -e smtpd_tls_auth_only=yes
sudo postconf -e smtpd_tls_cert_file=/etc/ssl/certs/mailserver.pem
sudo postconf -e smtpd_tls_key_file=/etc/ssl/private/mailserver.pem
sudo postconf -e smtpd_recipient_restrictions=" \
permit_mynetworks \
permit_sasl_authenticated \
reject_unauth_destination"
Отправка почты к доменам, не размещенным на Вашем Постфиксе (внешние письма таким образом), только возможна для IP, и сети позволили делать передачу конфигурацией Постфикса.
В Постфиксе, это достигается путем предоставления их, позволил IP и сети к mynetworks
конфигурационная директива в main.cf
.
В Вашем случае, это показывает, что только localhost позволяют передать почту вне Вашей Постфиксной установки.
, Чтобы позволить Вам отправлять почту снаружи, не делая Ваш сервер открытым реле необходимо, по крайней мере, добавить IP клиентов, которые должны отправить внешние письма.
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 A.B.C.D/32
Примечание /32
после IP-адреса, это должно быть уверено, что Постфикс не позволит целую подсеть, но просто что конкретный адрес.
, Если все клиенты находятся на той же подсети, можно настроить (пример: все Ваши клиенты подключены к 192.168.1.0 сетям с 255.255.255.0 как маска):
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24
, Конечно, если Вы планируете установить основанное на веб-почте программное обеспечение для своих пользователей, единственный позволенный хост для отправки & релейная почта была бы самим веб-сервером. В этом случае Вы не должны изменить конфигурацию Постфикса, но быть уверены что Ваше веб-почтовое использование решения 127.0.0.1 как сервер SMTP.