На моем Линод Я следил за этим док для настройки почтового сервера.
Теперь я могу отправлять электронную почту на любой домен, но не могу получать от других доменов!
Я имею в виду, что 001@mydomain.com может получать почту от 002@mydomain.com, но не может получать почту от xxx @ gmail / yahoo / ... com. Я тоже проверил свой vmail (Maildir), писем с других доменов нет.
я получил Статус доставки (задержка) из Gmail (примерно через 24 часа):
Delivery to the following recipient has been delayed:
myname@mydomain.com
Message will be retried for 2 more day(s)
Technical details of temporary failure:
The recipient server did not accept our requests to connect. Learn more at http://mail.google.com/support/bin/answer.py?answer=7720
[mail.mydomain.com. (10): Connection refused]
И это мои настройки:
у меня есть Запись MX:
mail.mydomain.com
и A / AAAA отчеты:
mail (with same ip as my server)
Мой / etc / hosts
127.0.0.1 localhost.localdomain localhost
(server ip) hostname.mydomain.com hostname
Мой / и т.д. / по умолчанию / saslauthd
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
Мой / etc / aliases
postmaster: root
root: admin@mydomain.com
Мой /usr/share/postfix/main.cf
protocols = imap imaps pop3 pop3s
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n/Maildir
ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
namespace private {
separator = .
prefix = INBOX.
inbox = yes
}
protocol lda {
log_path = /home/vmail/dovecot-deliver.log
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = admin@mydomain.com
mail_plugins = sieve
global_script_path = /home/vmail/globalsieverc
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
auth default {
user = root
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb static {
args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
}
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
Мой /usr/share/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 = /usr/share/doc/postfix
# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.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.
myhostname = hostname.mydomain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = hostname.mydomain.com, localhost, localhost.localdomain
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = (server ip), 127.0.0.1
html_directory = /usr/share/doc/postfix/html
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_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destinationvirtual_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
Мой iptables правила:
(Я использую 2525 вместо 25 портов, и он открыт на моей машине и isp, я могу на нем теленет)
pkts bytes target prot opt in out source destination
130 7820 ACCEPT tcp -- any any anywhere anywhere tcp dpt:smtp
0 0 ACCEPT udp -- any any anywhere anywhere udp dpt:25
388 33099 ACCEPT tcp -- any any anywhere anywhere tcp dpt:2525
0 0 ACCEPT udp -- any any anywhere anywhere udp dpt:2525
0 0 ACCEPT udp -- any any anywhere anywhere udp dpt:100
0 0 ACCEPT udp -- any any anywhere anywhere udp dpt:pop3
65 3538 ACCEPT tcp -- any any anywhere anywhere tcp dpt:pop3
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:26
0 0 ACCEPT udp -- any any anywhere anywhere udp dpt:26
0 0 ACCEPT udp -- any any anywhere anywhere udp dpt:pop3s
2355 184K ACCEPT tcp -- any any anywhere anywhere tcp dpt:pop3s
Журналы
Ничего не добавляет к моему / var / log /mail.log когда я должен получать почту от других доменов, но она кажется хорошо, когда я пытаюсь получать почту через почтовые клиенты.
Apr 14 07:53:51 hostname dovecot: pop3-login: Login: user=<myname@mydomain.com>, method=PLAIN, rip=94.182.127.182, lip=178.79.152.29, TLS
Apr 14 07:53:52 hostname dovecot: POP3(myname@mydomain.com): Disconnected: Logged out top=0/0, retr=0/0, del=0/7, size=6546
Ничего не происходит с / home / vmail /dovecot-delivery.log когда я мог получать почту из других доменов, но в случае того же домена кажется нормальный:
2011-04-14 05:42:53 deliver(myname@mydomain.com): Info: msgid=<FA382109-99D9-4C8F-8AD9-1C88C73C60CC@mydomain.com>: saved mail to INBOX
Я проверил почту с помощью VMail, mutt, Apple Mail и Thunderbird, и это мои настройки в почтовых клиентах:
Тип аккаунта: pop3
Сервер входящей почты: mail.mydomain.com
Имя пользователя: myname@mydomain.com
Пароль: XXXXX
Сервер исходящей почты:
Название сервера: mail.mydomain.com
Порт: 2525
Использовать SSL
Аутентификация: пароль
Имя пользователя: myname@mydomain.com
Пароль: XXXXX
Поскольку мой интернет-провайдер также блокирует порт 25, я добавил еще один порт (2525) в /etc/postfix/main.cf. Однако я допустил ошибку, закомментировав порт smtp, что привело к сбою приема почты с внешних доменов.
# Does not work
#smtp inet n - - - - smtpd
2525 inet n - - - - smtpd
Чтобы получать почту с других серверов, а также обойти ограничения порта вашего интернет-провайдера, просто откройте порт 25 (smtp) и другой порт по вашему выбору.
# Works
smtp inet n - - - - smtpd
2525 inet n - - - - smtpd
Поскольку в вашем /var/mail/mail.log абсолютно ничего не регистрируется, а ваши цепочки показывают нулевой трафик, поступающий на tcp / 25, я считаю, что ваш интернет-провайдер блокирует входящий трафик на tcp / 25. Это нормальная практика для домашних пользователей. Если у вас нет подключения бизнес-класса, интернет-провайдеры не разрешают трафик своим клиентам, предназначенный для tcp / 25.
Вам понадобится какой-то внешний сервис, например почтовый магазин DynDNS. Вы устанавливаете DynDNS в качестве вашего MX, и они ретранслируют почту на ваш сервер через открытый порт назначения, например 2525.
РЕДАКТИРОВАТЬ: быть ясным; настоящая электронная почта в Интернете распространяется только на порт tcp / 25. Вы не можете просто открыть порт вроде 2525 и ожидать, что он заработает.