2015-11-10 2 views
0

Я пытаюсь настроить почтовый сервер постфикса, используя загружаемую книгу. Я озадачен, чтобы понять различные способы установки постфикса с помощью mysql. Я не могу придерживаться полной схемы. Ниже приведены некоторые примеры, приведенные ниже: got here и here .Postfix mysql различные схемы и тестовый пользователь

Использование схемы из доступной роли выше У меня есть установочный постфикс. И таблицы схемы включают в себя:

show tables; 
+-------------------+ 
| Tables_in_mail | 
+-------------------+ 
| alias    | 
| alias_destination | 
| domain   | 
| domain_users  | 
| mailbox   | 
| mailbox_usage  | 
| user    | 
+-------------------+ 
7 rows in set (0.00 sec) 

Теперь я хочу test сервер постфикса с тестовым пользователем/почтовый ящик и domain.So Ищу способ INIT схемы для тестового пользователя. Любой вид помощи оценен

Редактировать Пробовали добавить тестовый пользователь:

mysql> select * from user; 
+----+-----------+---------------+--------+-------------+---------------------+---------------------+ 
| id | username | password  | active | super_admin | created_at   | modified_at   | 
+----+-----------+---------------+--------+-------------+---------------------+---------------------+ 
| 1 | sakhunzai | dTzdFMm0DSvmM |  1 |   0 | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 | 
+----+-----------+---------------+--------+-------------+---------------------+---------------------+ 
1 row in set (0.00 sec) 

mysql> select * from domain; 
+-------------+--------+-----------+-----------------------+---------------------+---------------------+ 
| name  | active | backup_mx | default_mailbox_quota | created_at   | modified_at   | 
+-------------+--------+-----------+-----------------------+---------------------+---------------------+ 
| example.com |  1 |   0 |   1073741824 | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 | 
+-------------+--------+-----------+-----------------------+---------------------+---------------------+ 
1 row in set (0.00 sec) 

mysql> select * from mailbox; 
+-----------+-------------+------------+------+--------+--------------+----------------+---------------------+---------------------+---------------+ 
| username | domain  | local_part | name | active | quota_mbytes | quota_messages | created_at   | modified_at   | password  | 
+-----------+-------------+------------+------+--------+--------------+----------------+---------------------+---------------------+---------------+ 
| sakhunzai | example.com |   | NULL |  1 |   0 |    0 | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 | wZQ9cRLxshVEY | 
+-----------+-------------+------------+------+--------+--------------+----------------+---------------------+---------------------+---------------+ 
1 row in set (0.00 sec) 

Тестирования с телнета:

telnet mail.example.com 25 
Trying 127.0.1.1... 
Connected to mail.example.com. 
Escape character is '^]'. 
220 mail.example.com ESMTP Postfix 
HELO test.example.com 
250 mail.example.com 
MAIL FROM: <[email protected]> 
250 2.1.0 Ok 
RCPT TO:<[email protected]> 
550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in virtual mailbox table 

Edit 2 После обновления пользователя я могу для завершения испытания:

update user set username="[email protected]"; 
update mailbox set username="[email protected]"; 

telnet mail.example.com 25 
Trying 127.0.1.1... 
Connected to mail.example.com. 
Escape character is '^]'. 
220 mail.example.com ESMTP Postfix 
HELO test.example.com 
250 mail.example.com 
MAIL FROM: <[email protected]> 
250 2.1.0 Ok 
RCPT TO:<[email protected]> 
250 2.1.5 Ok 
DATA 
354 End data with <CR><LF>.<CR><LF> 
Subject: test message 
. 
250 2.0.0 Ok: queued as 3BEEB40940 
QUIT 
221 2.0.0 Bye 
Connection closed by foreign host. 

Но с некоторыми ошибками в mail.log файле: to=<[email protected]>, relay=none, delay=44, delays=44/0/0/0, dsn=4.3.0, status=deferred (mail transport unavailable)

Nov 10 08:13:51 postfix/smtpd[32013]: connect from localhost[127.0.0.1] 
Nov 10 08:14:09 postfix/smtpd[32013]: 3BEEB40940: client=localhost[127.0.0.1] 
Nov 10 08:14:49 postfix/cleanup[32020]: 3BEEB40940: message-id=<[email protected]> 
Nov 10 08:14:49 postfix/qmgr[8096]: 3BEEB40940: from=<[email protected]>, size=337, nrcpt=1 (queue active) 
Nov 10 08:14:49 postfix/qmgr[8096]: warning: connect to transport private/smtp-amavis: No such file or directory 
Nov 10 08:14:49 postfix/error[32021]: 3BEEB40940: to=<[email protected]>, relay=none, delay=44, delays=44/0/0/0, dsn=4.3.0, status=deferred (mail transport unavailable) 
Nov 10 08:14:56 postfix/smtpd[32013]: disconnect from localhost[127.0.0.1] 

postconf -n

alias_database = hash:/etc/aliases 
alias_maps = hash:/etc/aliases 
append_dot_mydomain = no 
biff = no 
broken_sasl_auth_clients = yes 
config_directory = /etc/postfix 
content_filter = smtp-amavis:[127.0.0.1]:10024 
delay_warning_time = 4h 
dovecot_destination_recipient_limit = 1 
inet_interfaces = all 
inet_protocols = all 
mailbox_size_limit = 0 
message_size_limit = 51200000 
mime_header_checks = regexp:/etc/postfix/mime_header_checks.regexp 
mydestination = 
myhostname = mail.example.com 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 
myorigin = /etc/mailname 
queue_directory = /var/spool/postfix 
readme_directory = no 
recipient_delimiter = + 
relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf 
relayhost = 
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks.pcre 
smtp_tls_security_level = may 
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 
smtpd_banner = $myhostname ESMTP $mail_name 
smtpd_client_restrictions = 
smtpd_helo_restrictions = 
smtpd_recipient_restrictions = reject_unauth_destination reject_unlisted_recipient reject_rbl_client zen.spamhaus.org permit 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_authenticated_header = yes 
smtpd_sasl_path = private/auth 
smtpd_sasl_security_options = noanonymous 
smtpd_sasl_type = dovecot 
smtpd_sender_restrictions = 
smtpd_tls_cert_file = /etc/ssl/private/mail.example.com.crt 
smtpd_tls_key_file = /etc/ssl/private/mail.example.com.key 
smtpd_tls_loglevel = 1 
smtpd_tls_received_header = yes 
smtpd_tls_security_level = may 
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_mailbox_maps.cf proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf 
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf 
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf 
virtual_transport = dovecot 

/etc/postfix/master.cf

# 
# Postfix master process configuration file. For details on the format 
# of the file, see the master(5) manual page (command: "man 5 master"). 
# 
# Do not forget to execute "postfix reload" after editing this file. 
# 
# ========================================================================== 
# service type private unpriv chroot wakeup maxproc command + args 
#    (yes) (yes) (yes) (never) (100) 
# ========================================================================== 
smtp  inet n  -  -  -  -  smtpd 
#smtp  inet n  -  -  -  1  postscreen 
#smtpd  pass -  -  -  -  -  smtpd 
#dnsblog unix -  -  -  -  0  dnsblog 
#tlsproxy unix -  -  -  -  0  tlsproxy 
submission inet n  -  n  -  -  smtpd 
    -o content_filter=smtp-amavis:[127.0.0.1]:10026 
    -o syslog_name=postfix/submission 
    -o smtpd_tls_security_level=encrypt 
    -o smtpd_sasl_auth_enable=yes 
    -o smtpd_recipient_restrictions=permit_sasl_authenticated,permit_mynetworks,reject 
# -o milter_macro_daemon_name=ORIGINATING 
#smtps  inet n  -  -  -  -  smtpd 
# -o syslog_name=postfix/smtps 
# -o smtpd_tls_wrappermode=yes 
# -o smtpd_sasl_auth_enable=yes 
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject 
# -o milter_macro_daemon_name=ORIGINATING 
#628  inet n  -  -  -  -  qmqpd 
pickup fifo n  -  -  60  1  pickup 
    -o receive_override_options=no_header_body_checks 
    -o content_filter=smtp-amavis:[127.0.0.1]:10026 
# Coment the above line if you do not want to sign localy originated mail from the pickup service 
cleanup unix n  -  -  -  0  cleanup 
qmgr  fifo n  -  n  300  1  qmgr 
#qmgr  fifo n  -  n  300  1  oqmgr 
tlsmgr unix -  -  -  1000? 1  tlsmgr 
rewrite unix -  -  -  -  -  trivial-rewrite 
bounce unix -  -  -  -  0  bounce 
defer  unix -  -  -  -  0  bounce 
trace  unix -  -  -  -  0  bounce 
verify unix -  -  -  -  1  verify 
flush  unix n  -  -  1000? 0  flush 
proxymap unix -  -  n  -  -  proxymap 
proxywrite unix -  -  n  -  1  proxymap 
smtp  unix -  -  -  -  -  smtp 
relay  unix -  -  -  -  -  smtp 
#  -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 
showq  unix n  -  -  -  -  showq 
error  unix -  -  -  -  -  error 
retry  unix -  -  -  -  -  error 
discard unix -  -  -  -  -  discard 
local  unix -  n  n  -  -  local 
virtual unix -  n  n  -  -  virtual 
lmtp  unix -  -  -  -  -  lmtp 
anvil  unix -  -  -  -  1  anvil 
scache unix -  -  -  -  1  scache 
# 
# ==================================================================== 
# Interfaces to non-Postfix software. Be sure to examine the manual 
# pages of the non-Postfix software to find out what options it wants. 
# 
# Many of the following services use the Postfix pipe(8) delivery 
# agent. See the pipe(8) man page for information about ${recipient} 
# and other message envelope options. 
# ==================================================================== 
# 
# maildrop. See the Postfix MAILDROP_README file for details. 
# Also specify in main.cf: maildrop_destination_recipient_limit=1 
# 
#maildrop unix -  n  n  -  -  pipe 
# flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} 
# 
# ==================================================================== 
# 
# Recent Cyrus versions can use the existing "lmtp" master.cf entry. 
# 
# Specify in cyrus.conf: 
# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 
# 
# Specify in main.cf one or more of the following: 
# mailbox_transport = lmtp:inet:localhost 
# virtual_transport = lmtp:inet:localhost 
# 
# ==================================================================== 
# 
# Cyrus 2.1.5 (Amos Gouaux) 
# Also specify in main.cf: cyrus_destination_recipient_limit=1 
# 
#cyrus  unix -  n  n  -  -  pipe 
# user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} 
# 
# ==================================================================== 
# Old example of delivery via Cyrus. 
# 
#old-cyrus unix -  n  n  -  -  pipe 
# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} 
# 
# ==================================================================== 
# 
# See the Postfix UUCP_README file for configuration details. 
# 
#uucp  unix -  n  n  -  -  pipe 
# flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) 
# 
# Other external delivery methods. 
# 
#ifmail unix -  n  n  -  -  pipe 
# flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) 
#bsmtp  unix -  n  n  -  -  pipe 
# flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient 
#scalemail-backend unix - n n - 2 pipe 
# flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} 
#mailman unix -  n  n  -  -  pipe 
# flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py 
# ${nexthop} ${user} 

# Dovecot 
dovecot unix -  n  n  -  -  pipe 
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${user}@${domain} -m ${extension} 

# Amavisd-new 
smtp-amavis  unix -  -  -  -  2  smtp 
    -o smtp_data_done_timeout=1200 
    -o smtp_send_xforward_command=yes 
    -o disable_dns_lookups=yes 
    -o max_use=20 

127.0.0.1:10025 inet n  -  -  -  -  smtpd 
    -o content_filter= 
    -o local_recipient_maps= 
    -o relay_recipient_maps= 
    -o smtpd_restriction_classes= 
    -o smtpd_delay_reject=no 
    -o smtpd_client_restrictions=permit_mynetworks,reject 
    -o smtpd_helo_restrictions= 
    -o smtpd_sender_restrictions= 
    -o smtpd_recipient_restrictions=permit_mynetworks,reject 
    -o smtpd_data_restrictions=reject_unauth_pipelining 
    -o smtpd_end_of_data_restrictions= 
    -o mynetworks=127.0.0.0/8 
    -o smtpd_error_sleep_time=0 
    -o smtpd_soft_error_limit=1001 
    -o smtpd_hard_error_limit=1000 
    -o smtpd_client_connection_count_limit=0 
    -o smtpd_client_connection_rate_limit=0 
    -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings 
+1

У вас настройки main.cf? –

+0

Каковы ваши виртуальные сопоставления пользователей? –

+0

да все, как определено в незаменимой роли https://github.com/gjuric/ansible-mailserver/blob/master/roles/mail/templates/postfix/main.cf.j2 – sakhunzai

ответ

0

Основываясь на this и this похожие номера:

Комментарий эта линия

-o content_filter=smtp-amavis:[127.0.0.1]:10026 

и попробовать

+0

Muhammad, спасибо, мне удалось исправить проблему с очередью после привязки порта к -o content_filter = smtp-amavis: [127.0.0.1]: 10024 – sakhunzai

+0

Я думаю, что это был «стандартный прослушивающий сокет» '10026' против' 10024', который был определенный в main.cf – sakhunzai

+1

amavisd действует аналогично почтовому серверу, просто слушает только локальный хост с IP 10024. Если почта получена postfix, а постфиксная конфигурация перенаправила электронное письмо на этот «внутренний» почтовый сервер на порт 10024, postqueue -f будет просто пытаться переадресовать электронные письма amavisd, поскольку amavisd будет сохранен в качестве следующего шага для обработки электронной почты в почте внутри почты, в то время как полный запрос скажет postfix действовать так, как будто письмо будет получено снова, чтобы оно снова решило, где для доставки электронной почты. –

Смежные вопросы