Portál AbcLinuxu, 27. dubna 2024 01:24


Dotaz: Postfix, Postfixadmin, Dovecot

26.11.2011 09:34 Honza
Postfix, Postfixadmin, Dovecot
Přečteno: 807×
Odpovědět | Admin
Dobrý den. Nastavil jsem poštovní server podle postupu zde: http://jitamitra.blogspot.com/2009/03/configure-postfix-postfixadmin-dovecot.html

Vše sice funguje, ale postfix vytvoří úložiště v adresáři /home/vmail/jmeno@domena (mělo by být /home/vmail/domena/jmeno

Dovecot vytvoří úložiště správně, ale pošta chodí do úložiště vytvořené postfixem.

Asi to bude nějaká drobnost v nastavení - nevíte? Děkuju.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.11.2011 09:44 Honza
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě doplním, že pokud vytvořím symlink v adresáři /home/vmail/jmeno@domena --> /home/vmail/domena/jmeno, všechno funguje jak má.
26.11.2011 10:24 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
Jak konfiguruješ ty účty v postfixu ? Pošli alespoň nějaké konfiguráky.
26.11.2011 12:19 Honza
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
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 = no                                                                                                                                                                                                            
                                                                                                                                                                                                                                 
# TLS parameters                                                                                                                                                                                                                 
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem                                                                                                                                                                                
smtpd_tls_key_file = /etc/ssl/private/ssl-mail.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 = pracovni                                                                                                                                                                                                            
alias_maps = hash:/etc/aliases                                                                                                                                                                                                   
alias_database = hash:/etc/aliases                                                                                                                                                                                               
mydestination = pracovni, localhost.localdomain, , localhost                                                                                                                                                                     
relayhost =                                                                                                                                                                                                                      
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128                                                                                                                                                                        
mailbox_size_limit = 0                                                                                                                                                                                                           
recipient_delimiter = +                                                                                                                                                                                                          
inet_interfaces = all                                                                                                                                                                                                            
home_mailbox = Maildir/                                                                                                                                                                                                          
smtpd_sasl_auth_enable = yes                                                                                                                                                                                                     
smtpd_sasl_type = dovecot                                                                                                                                                                                                        
smtpd_sasl_path = private/dovecot-auth                                                                                                                                                                                           
smtpd_sasl_authenticated_header = yes                                                                                                                                                                                            
smtpd_sasl_security_options = noanonymous                                                                                                                                                                                        
smtpd_sasl_local_domain = $myhostname                                                                                                                                                                                            
broken_sasl_auth_clients = yes                                                                                                                                                                                                   
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination                                  
smtpd_sender_restrictions = reject_unknown_sender_domain                                                                                                                                                                         
mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/conf.d/01-mail-stack-delivery.conf -n -m "${EXTENSION}"                                                                                                               
smtp_use_tls = yes                                                                                                                                                                                                               
smtpd_tls_received_header = yes                                                                                                                                                                                                  
smtpd_tls_mandatory_protocols = SSLv3, TLSv1                                                                                                                                                                                     
smtpd_tls_mandatory_ciphers = medium                                                                                                                                                                                             
smtpd_tls_auth_only = yes                                                                                                                                                                                                        
tls_random_source = dev:/dev/urandom                                                                                                                                                                                             
                                                                                                                                                                                                                                 
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf                                                                                                                                                              
virtual_gid_maps = static:124                                                                                                                                                                                                    
virtual_mailbox_base = /home/vmail                                                                                                                                                                                               
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf                                                                                                                                                       
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf                                                                                                                                                          
virtual_minimum_uid = 114                                                                                                                                                                                                        
virtual_transport = virtual                                                                                                                                                                                                      
virtual_uid_maps = static:114                                                                    
user = postfix                                                                                                                                                                                                                   
password = heslo                                                                                                                                                                                                            
hosts = 127.0.0.1                                                                                                                                                                                                                
dbname = postfix                                                                                                                                                                                                                 
table = alias                                                                                                                                                                                                                    
select_field = goto                                                                                                                                                                                                              
where_field = address   
user = postfix                                                                                                                                                                                                                   
password = heslo                                                                                                                                                                                                            
hosts = 127.0.0.1                                                                                                                                                                                                                
dbname = postfix                                                                                                                                                                                                                 
table = domain                                                                                                                                                                                                                   
select_field = domain                                                                                                                                                                                                            
where_field = domain                                                                                                                                                                                                             
additional_conditions = and backupmx = '0' and active = '1'                                                                                                                                                                      
                                                                                                                                                                                                                                 
                                                                                        
user = postfix                                                                                                                                                                                                                   
password = heslo                                                                                                                                                                                                            
hosts = 127.0.0.1                                                                                                                                                                                                                
dbname = postfix                                                                                                                                                                                                                 
table = mailbox                                                                                                                                                                                                                  
select_field = maildir                                                                                                                                                                                                           
where_field = username                
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       -       -       -       -       smtpd                                                                                                                                                                                                                                                              
#  -o smtpd_tls_security_level=encrypt                                                                                                                                                                                                                                                                                      
#  -o smtpd_sasl_auth_enable=yes                                                                                                                                                                                                                                                                                            
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject                                                                                                                                                                                                                                                            
#  -o milter_macro_daemon_name=ORIGINATING                                                                                                                                                                                                                                                                                  
#smtps     inet  n       -       -       -       -       smtpd                                                                                                                                                                                                                                                              
#  -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                                                                                                                                                                                                                                                              
cleanup   unix  n       -       -       -       0       cleanup                                                                                                                                                                                                                                                             
qmgr      fifo  n       -       n       300     1       qmgr                                                                                                                                                                                                                                                                
#qmgr     fifo  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                                                                                                                                                                                                                                                                
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops                                                                                                                                                                                                                                                 
relay     unix  -       -       -       -       -       smtp                                                                                                                                                                                                                                                                
        -o smtp_fallback_relay=                                                                                                                                                                                                                                                                                             
#       -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}                                                                                 
Tak je to snad vše. Díky.
26.11.2011 12:39 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
Ok tak pošli záznamy z tabulky v MYSQL stačí jeden účet bez hesla.
26.11.2011 13:22 Honza
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
username password name maildir quota local_part domain created modified jmeno@domena heslo jmeno prijmeni jmeno@domena/ 0 jmeno.prijmeni domena.cz 2011-11-25 11:36:55 2011-11-25 11:36:55 1
26.11.2011 13:47 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
Takže v maildir je jmeno@domena/, pak jsou služky emailu v domena/jmeno@domain/ ? Co to změnit maildir na jmeno/ daný účet se stejně asi bere z local_part a domain. Mám trochu jiné přehlednější definice sql ale princip je stejný.
26.11.2011 13:55 Honza
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
Složky emailu jsou přímo v /home/vmail/jmeno@domena, nadřazený adresář../domena se nevytváří.
26.11.2011 14:02 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
Ok pak nastav maildir na domena/jmeno/ -> postfix pak skládá sql příkaz který vypadá nějak takhle

SELECT CONCAT(Domeny.nazev, '/', Schranky.schranka, '/') FROM Schranky LEFT JOIN Domeny ON Schranky.id_domeny = Domeny.id WHERE Domeny.stav=1 AND Schranky.stav=1 AND Schranky.schranka='%u' AND Domeny.nazev='%d'

26.11.2011 14:11 Honza
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
Ano ted je to správně. Ale jak zajistit, aby se to v přes postfixadmin dělalo samo a nemusel jsem hodnotu při přidání schránky editovat ručně? Ono je to sice celkem jedno, ale správně by se mělo dělat automaticky. Díky.
Řešení 1× (MMMMMMMMM)
26.11.2011 17:09 Honza
Rozbalit Rozbalit vše Vyřešeno
Tak to byla opravdu drobnost, přehlédl jsem v konfiguraci postfixadmina dvě položky:
 Mailboxes                                                                                                      
// If you want to store the mailboxes per domain set this to 'YES'.                                               
// Examples:                                                                                                      
//   YES: /usr/local/virtual/domain.tld/username@domain.tld                                                       
//   NO:  /usr/local/virtual/username@domain.tld                                                                  
$CONF['domain_path'] = 'YES';                                                                                     
// If you don't want to have the domain in your mailbox set this to 'NO'.                                         
// Examples:.                                                                                                     
//   YES: /usr/local/virtual/domain.tld/username@domain.tld                                                       
//   NO:  /usr/local/virtual/domain.tld/username                                                                  
// Note: If $CONF['domain_path'] is set to NO, this setting will be forced to YES.                                
$CONF['domain_in_mailbox'] = 'NO';                                                                       
Ted to pracuje správně. Díky za pomoc.
26.11.2011 12:55 ET
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
Odpovědět | | Sbalit | Link | Blokovat | Admin
trasni si virtual_mailbox_maps

dle dokundamentace http://www.postfix.org/VIRTUAL_README.html#virtual_mailbox

The virtual_mailbox_maps parameter specifies the lookup table with mailbox (or maildir) pathnames, indexed by the virtual mail address. In this example, mail for info@example.com goes to the mailbox at /var/mail/vhosts/example.com/info while mail for sales@example.com goes to the maildir located at /var/mail/vhosts/example.com/sales/.

pavlix avatar 27.11.2011 03:33 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Postfix, Postfixadmin, Dovecot
Odpovědět | | Sbalit | Link | Blokovat | Admin
Konfigurovat Postfix a Dovecot tak, aby oba sahali do maildirů je nešťastné. Nejlepší je nechat Dovecot, ať se o úložiště postará sám. Postfix pak doručuje poštu prostřednictvím Dovecotu a fungují všechny vychytávky Dovecotu jako třeba filtrování pošty.

/etc/postfix/master.cf:
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
/etc/postfix/main.cf:
virtual_transport = dovecot
(jen příklad)
Já už tu vlastně ani nejsem. Abclinuxu umřelo.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.