Я только что сделал новую установку Postfix и courier на машине с Ubuntu 12.04.
почтовый сервер, кажется, работает изнутри, пока вы не попытаетесь отправить электронное письмо с внешнего адреса (например, Gmail).
Apache, mysql и т. Д. На одном сервере работают правильно как внутри, так и снаружи.
обратный поиск возвращается правильно.
netstat -nl возвращает
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:783 0.0.0.0:* LISTEN
tcp 0 0 173.255.238.79:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:2905 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN
tcp6 0 0 :::993 :::* LISTEN
tcp6 0 0 :::995 :::* LISTEN
tcp6 0 0 :::110 :::* LISTEN
tcp6 0 0 :::143 :::* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::53 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:5432 :::* LISTEN
tcp6 0 0 :::25 :::* LISTEN
tcp6 0 0 ::1:953 :::* LISTEN
tcp6 0 0 :::4190 :::* LISTEN
etc / postfix / main.cf - это
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 = fasttrackdispatch.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = fasttrackdispatch.com, localhost, localhost.localdomain
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
html_directory = /usr/share/doc/postfix/html
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_destination
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_maildir_extended = yes
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "The user you are trying to reach is over quota."
virtual_overquota_bounce = 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
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
при просмотре mail.log ничего не появляется, показывая, что сообщение было получено или отклонено - похоже, что оно никогда не было отправлено
Отправитель НЕ получает никаких сообщений об отклонении запроса или о какой-либо ошибке.
Я попытался открыть порт 25 на брандмауэре ubuntu, а затем просто выключил брандмауэр, чтобы посмотреть, будет ли это работать безрезультатно.
Любая помощь приветствуется - спасибо
Я действительно не уверен в том, что происходит - любая помощь приветствуется.
Теперь inet_interface = all Я получаю ответное письмо при отправке почты на этот адрес
Это почтовая система на хосте fasttrackdispatch.com.
Сожалею, что вынужден сообщить вам, что ваше сообщение не может быть доставлено одному или нескольким получателям. Он прикреплен ниже.
Для дальнейшей помощи, пожалуйста отправьте письмо в почтувую службу.
Если вы это сделаете, включите этот отчет о проблеме. Вы можете удалить свой собственный текст из прикрепленного возвращенного сообщения.
The mail system
<email@domain.tld>: unknown user: "james.stafford"
Final-Recipient: rfc822; email@domain.tld
Original-Recipient: rfc822;email@domain.tld
Action: failed
Status: 5.1.1
Diagnostic-Code: X-Postfix; unknown user: "james.stafford"
Я не понимаю, почему он говорит, что это неизвестный пользователь, когда на самом деле это настроенная учетная запись, которая работает внутри
новый mail.log
Jan 22 14:31:47 localhost postfix/smtpd[14264]: connect from mail-wi0-f178.google.com[209.85.212.178]
Jan 22 14:31:47 localhost postfix/trivial-rewrite[14267]: warning: do not list domain fasttrackdispatch.com in BOTH mydestination and virtual_mailbox_domains
Jan 22 14:31:47 localhost postfix/smtpd[14264]: BF9C4B64C: client=mail-wi0-f178.google.com[209.85.212.178]
Jan 22 14:31:47 localhost postfix/cleanup[14270]: BF9C4B64C: message-id=<CAE0rcYX=LwLJOUVnaaCvv33xnMxBXXonUt-8ncV06e9v+SST6w@mail.gmail.com>
Jan 22 14:31:47 localhost postfix/qmgr[13856]: BF9C4B64C: from=<email@domain.tld>, size=1806, nrcpt=1 (queue active)
Jan 22 14:31:48 localhost postfix/smtpd[14264]: disconnect from mail-wi0-f178.google.com[209.85.212.178]
Jan 22 14:31:53 localhost postfix/smtpd[14276]: connect from localhost[127.0.0.1]
Jan 22 14:31:53 localhost postfix/trivial-rewrite[14267]: warning: do not list domain fasttrackdispatch.com in BOTH mydestination and virtual_mailbox_domains
Jan 22 14:31:53 localhost postfix/smtpd[14276]: B128DB64D: client=localhost[127.0.0.1]
Jan 22 14:31:53 localhost postfix/cleanup[14270]: B128DB64D: message-id=<CAE0rcYX=LwLJOUVnaaCvv33xnMxBXXonUt-8ncV06e9v+SST6w@mail.gmail.com>
Jan 22 14:31:53 localhost postfix/qmgr[13856]: B128DB64D: from=<email@domain.tld>, size=2378, nrcpt=1 (queue active)
Jan 22 14:31:53 localhost postfix/smtpd[14276]: disconnect from localhost[127.0.0.1]
Jan 22 14:31:53 localhost postfix/trivial-rewrite[14267]: warning: do not list domain fasttrackdispatch.com in BOTH mydestination and virtual_mailbox_domains
Jan 22 14:31:53 localhost amavis[11815]: (11815-04) Passed CLEAN, [209.85.212.178] [209.85.212.178] <email@domain.tld> -> <email@domain.tld>, Message-ID: <CAE0rcYX=LwLJOUVnaaCvv33xnMxBXXonUt-8ncV06e9v+SST6w@mail.gmail.com>, mail_id: gdtQkyTU2m1h, Hits: -0.799, size: 1806, queued_as: B128DB64D, dkim_id=@gmail.com, 5753 ms
Jan 22 14:31:53 localhost postfix/smtp[14271]: BF9C4B64C: to=<email@domain.tld>, relay=127.0.0.1[127.0.0.1]:10024, delay=6.1, delays=0.34/0.01/0/5.8, dsn=2.0.0, status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as B128DB64D)
Jan 22 14:31:53 localhost postfix/qmgr[13856]: BF9C4B64C: removed
Jan 22 14:31:53 localhost postfix/local[14278]: B128DB64D: to=<email@domain.tld>, relay=local, delay=0.04, delays=0.01/0.02/0/0.01, dsn=5.1.1, status=bounced (unknown user: "james.stafford")
Jan 22 14:31:53 localhost postfix/cleanup[14270]: BA7FAB64E: message-id=<email@domain.tld>
Jan 22 14:31:53 localhost postfix/qmgr[13856]: BA7FAB64E: from=<>, size=4322, nrcpt=1 (queue active)
Jan 22 14:31:53 localhost postfix/bounce[14279]: B128DB64D: sender non-delivery notification: BA7FAB64E
Jan 22 14:31:53 localhost postfix/qmgr[13856]: B128DB64D: removed
Jan 22 14:31:56 localhost postfix/smtp[14280]: BA7FAB64E: to=<jhstaffo@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.137.27]:25, delay=2.7, delays=0.01/0.01/0.58/2.1, dsn=2.0.0, status=sent (250 2.0.0 OK 1390401116 g10si11097167yhn.109 - gsmtp)
Jan 22 14:31:56 localhost postfix/qmgr[13856]: BA7FAB64E: removed
Как говорит NickW, похоже, проблема в inet_interfaces. http://www.postfix.org/postconf.5.html#inet_interfaces
У вас есть:
inet_interfaces = loopback-only
Это нормально, если вам нужно отправлять / получать почту только от локальных приложений, приложения выполняются на главном сервере. Вот почему вы ничего не видите в файле журнала, postfix никогда не получает соединение.
Но если вы хотите «прослушивать» внешние соединения, вам понадобятся:
inet_interfaces = all
Таким образом, вы будете прослушивать порт 25 на всех интерфейсах, а не только на интерфейсе lo.
Почему у вас inet_interfaces установлен только на loopback?
проверьте, правильно ли работает отображение таблицы пользователей.
поскольку у меня похожая настройка (виртуальный пользователь / домен с mysql), у меня возникли проблемы с использованием правильного синтаксиса / запроса для пользовательского запроса.
сейчас я бы проверил, есть ли у пользователя папка на сервере.
вы используете uid 5000, что может означать, что вы использовали некоторую настройку, в которой пользователь, под которым создаются все виртуальные пользователи, называется vmail. если это так, ваша установка (домены / имя пользователя) должна содержать что-то похожее на это:
/home/vmail/domain.tld/virtual_username
проверьте, существует ли эта папка и в ней есть несколько папок или файлов.
если его не существует, ваш запрос на возврат имени пользователя может быть неправильным:
у меня /etc/postfix/mysql-virtual_mailboxes.cf) выглядит так:
user = DB_accessuser
password = XXXX
dbname = mail
table = users
select_field = CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
where_field = email
hosts = 127.0.0.1
дополнительно: что вы имеете в виду под словом «настроить внутреннюю учетную запись»
Ваш почтовый сервер, кажется, не знает эту учетную запись, что дает мне основания полагать, что ее нет в списке virtual_mailboxes, хотя я не знаю, можете ли вы просто получить доступ к фактическому «реальному» пользователю с помощью указанных выше настроек. У меня это не работает "realuser@domain.tld" не работает, где "virtual_user@domain.tld" работает нормально.
в ответ на ваше добавление почтового журнала:
исправление должно быть таким (цитата из Howtoforge):
Ошибка: Postfix - не отображать домен example.com в ОБЕИМ mydestination и virtual_mailbox_domains
У вас есть example.com в ресурсе (например, базе данных MySQL), на который есть ссылка в директиве virtual_mailbox_domains в /etc/postfix/main.cf И в строке mydestination (также в /etc/postfix/main.cf)! Это не работает. Вы можете указать example.com либо в virtual_mailbox_domains, либо в mydestination, но не в обоих.
после изменения перезапустите Postfix
/etc/init.d/postfix restart