Discussion:
[Dovecot] Question regarding Postfix and Dovecot
Daniel Reinhardt
2013-03-14 02:50:30 UTC
Permalink
All,

Thank you for having this list, and I have a question regarding why postfix
is not handing off delivery to Dovecot to virtual users.

Here is all I can offer since I am not at my server:

*Here is the debug information for my postfix setup:*

[code]
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: name_mask: ipv4
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: inet_addr_local: configured
2 IPv4 addresses
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: process generation: 3 (3)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string: mynetworks ~?
debug_peer_list
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string: mynetworks ~?
fast_flush_domains
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string: mynetworks ~?
mynetworks
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string: relay_domains
~? debug_peer_list
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string: relay_domains
~? fast_flush_domains
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string: relay_domains
~? mynetworks
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string: relay_domains
~? permit_mx_backup_networks
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string: relay_domains
~? qmqpd_authorized_clients
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string: relay_domains
~? smtpd_access_maps
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_list_match:
relay_domains: no match
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
permit_mx_backup_networks ~? debug_peer_list
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
permit_mx_backup_networks ~? fast_flush_domains
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
permit_mx_backup_networks ~? mynetworks
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
permit_mx_backup_networks ~? permit_mx_backup_networks
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: connect to subsystem
private/proxymap
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr request = open
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr table =
unix:passwd.byname
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr flags = 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/proxymap socket:
wanted attribute: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value: 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/proxymap socket:
wanted attribute: flags
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: flags
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value: 16
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/proxymap socket:
wanted attribute: (list terminator)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: (end)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: dict_proxy_open: connect to
map=unix:passwd.byname status=0 server_flags=fixed
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: dict_open:
proxy:unix:passwd.byname
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: Compiled against Berkeley
DB: 5.1.25?
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: Run-time linked against
Berkeley DB: 5.1.25?
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: dict_open: hash:/etc/aliases
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: user = mail
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: password = hidden
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: dbname = mail
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: result_format = %s
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_int: /etc/postfix/
mysql_va_maps.cf: expansion_limit = 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: query = <NULL>
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: table = alias
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: select_field = goto
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: where_field = address
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: additional_conditions = and active = '1'
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: domain =
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_va_maps.cf: hosts = 127.0.0.1
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: dict_open:
mysql:/etc/postfix/mysql_va_maps.cf
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_alias_domainaliases_maps.cf: user = mail
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_alias_domainaliases_maps.cf: password = hidden
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_alias_domainaliases_maps.cf: dbname = mail
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_alias_domainaliases_maps.cf: result_format = %s
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_int: /etc/postfix/
mysql_virtual_alias_domainaliases_maps.cf: expansion_limit = 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_alias_domainaliases_maps.cf: query = SELECT goto FROM
alias,alias_domain WHERE alias_domain.alias_domain = '%d' AND
alias.address=concat('%u', '@', alias_domain.target_domain) AND
alias.active = 1
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_alias_domainaliases_maps.cf: domain =
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_alias_domainaliases_maps.cf: hosts = 127.0.0.1
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: dict_open:
mysql:/etc/postfix/mysql_virtual_alias_domainaliases_maps.cf
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: user = mail
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: password = hidden
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: dbname = mail
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: result_format = %s
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_int: /etc/postfix/
mysql_vmb_maps.cf: expansion_limit = 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: query = <NULL>
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: table = mailbox
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: select_field = CONCAT(domain, '/', local_part)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: where_field = username
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: additional_conditions = and active = '1'
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: domain =
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_vmb_maps.cf: hosts = 127.0.0.1
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: dict_open:
mysql:/etc/postfix/mysql_vmb_maps.cf
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_mailbox_domainaliases_maps.cf: user = mail
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_mailbox_domainaliases_maps.cf: password = hidden
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_mailbox_domainaliases_maps.cf: dbname = mail
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_mailbox_domainaliases_maps.cf: result_format = %s
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_int: /etc/postfix/
mysql_virtual_mailbox_domainaliases_maps.cf: expansion_limit = 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_mailbox_domainaliases_maps.cf: query = SELECT maildir FROM
mailbox, alias_domain \ WHERE alias_domain.alias_domain = '%d' \ AND
mailbox.username=concat('%u', '@', alias_domain.target_domain ) \ AND
mailbox.active = 1
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_mailbox_domainaliases_maps.cf: domain =
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: cfg_get_str: /etc/postfix/
mysql_virtual_mailbox_domainaliases_maps.cf: hosts = 127.0.0.1
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: dict_open:
mysql:/etc/postfix/mysql_virtual_mailbox_domainaliases_maps.cf
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
smtpd_access_maps ~? debug_peer_list
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
smtpd_access_maps ~? fast_flush_domains
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
smtpd_access_maps ~? mynetworks
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
smtpd_access_maps ~? permit_mx_backup_networks
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
smtpd_access_maps ~? qmqpd_authorized_clients
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
smtpd_access_maps ~? smtpd_access_maps
Mar 13 20:23:55 andromeda postfix/smtpd[15316]:
unknown_helo_hostname_tempfail_action = defer_if_permit
Mar 13 20:23:55 andromeda postfix/smtpd[15316]:
unknown_address_tempfail_action = defer_if_permit
Mar 13 20:23:55 andromeda postfix/smtpd[15316]:
unverified_recipient_tempfail_action = defer_if_permit
Mar 13 20:23:55 andromeda postfix/smtpd[15316]:
unverified_sender_tempfail_action = defer_if_permit
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: name_mask: 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: auto_clnt_create:
transport=local endpoint=private/tlsmgr
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: auto_clnt_open: connected
to private/tlsmgr
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr request = seed
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr size = 32
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/tlsmgr: wanted
attribute: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value: 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/tlsmgr: wanted
attribute: seed
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: seed
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value:
AHVrzbFVvc2OBJm0YrMwfr0jnTbg7Iomx767MU6gr+4=
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/tlsmgr: wanted
attribute: (list terminator)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: (end)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr request = policy
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr cache_type = smtpd
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/tlsmgr: wanted
attribute: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value: 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/tlsmgr: wanted
attribute: cachable
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name:
cachable
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value: 1
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/tlsmgr: wanted
attribute: (list terminator)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: (end)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
fast_flush_domains ~? debug_peer_list
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_string:
fast_flush_domains ~? fast_flush_domains
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: auto_clnt_create:
transport=local endpoint=private/anvil
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: connection established
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: master_notify: status 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: name_mask: resource
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: name_mask: software
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: connect from
mail-ve0-f174.google.com[209.85.128.174]
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_list_match:
mail-ve0-f174.google.com: no match
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_list_match:
209.85.128.174: no match
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_list_match:
mail-ve0-f174.google.com: no match
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_list_match:
209.85.128.174: no match
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: smtp_stream_setup:
maxtime=300 enable_deadline=0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_hostname:
mail-ve0-f174.google.com ~? 127.0.0.0/8
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_hostaddr:
209.85.128.174 ~? 127.0.0.0/8
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_list_match:
mail-ve0-f174.google.com: no match
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_list_match:
209.85.128.174: no match
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: auto_clnt_open: connected
to private/anvil
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr request = connect
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr ident =
smtp:209.85.128.174
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/anvil: wanted
attribute: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value: 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/anvil: wanted
attribute: count
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: count
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value: 1
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/anvil: wanted
attribute: rate
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: rate
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value: 1
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/anvil: wanted
attribute: (list terminator)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: (end)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: report connect to all
milters
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup: "j"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup: result
"andromeda.home"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup:
"{daemon_name}"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup: result
"andromeda.home"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup: "v"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup: result
"Postfix 2.9.6"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_connect:
non-protocol events for protocol version 6:
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_connect:
transport=inet endpoint=127.0.0.1:8891
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: trying... [127.0.0.1]
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: vstream_tweak_tcp:
TCP_MAXSEG 16384
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_connect:
my_version=0x6
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_connect:
my_actions=0x1ff SMFIF_ADDHDRS SMFIF_CHGBODY SMFIF_ADDRCPT SMFIF_DELRCPT
SMFIF_CHGHDRS SMFIF_QUARANTINE SMFIF_CHGFROM SMFIF_ADDRCPT_PAR
SMFIF_SETSYMLIST
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_connect:
my_events=0x1fffff SMFIP_NOCONNECT SMFIP_NOHELO SMFIP_NOMAIL SMFIP_NORCPT
SMFIP_NOBODY SMFIP_NOHDRS SMFIP_NOEOH SMFIP_NR_HDR SMFIP_NOUNKNOWN
SMFIP_NODATA SMFIP_SKIP SMFIP_RCPT_REJ SMFIP_NR_CONN SMFIP_NR_HELO
SMFIP_NR_MAIL SMFIP_NR_RCPT SMFIP_NR_DATA SMFIP_NR_UNKN SMFIP_NR_EOH
SMFIP_NR_BODY SMFIP_HDR_LEADSPC
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_connect: milter
inet:127.0.0.1:8891 version 6
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_connect: events
SMFIP_NOHELO SMFIP_NOUNKNOWN SMFIP_NODATA SMFIP_SKIP SMFIP_HDR_LEADSPC
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_connect: requests
SMFIF_ADDHDRS SMFIF_CHGHDRS SMFIF_SETSYMLIST
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_conn_event: milter
inet:127.0.0.1:8891: connect mail-ve0-f174.google.com/209.85.128.174
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: event: SMFIC_CONNECT;
macros: j=andromeda.home {daemon_name}=andromeda.home v=Postfix 2.9.6
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: reply: SMFIR_CONTINUE data
0 bytes
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
220 andromeda.home ESMTP Postfix (Ubuntu)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: <
mail-ve0-f174.google.com[209.85.128.174]:
EHLO mail-ve0-f174.google.com
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: report helo to all milters
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup:
"{tls_version}"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup:
"{cipher}"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup:
"{cipher_bits}"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup:
"{cert_subject}"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter_macro_lookup:
"{cert_issuer}"
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_helo_event: milter
inet:127.0.0.1:8891: helo mail-ve0-f174.google.com
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: event: SMFIC_HELO; macros:
(none)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: skipping event SMFIC_HELO
for milter inet:127.0.0.1:8891
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_list_match:
mail-ve0-f174.google.com: no match
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: match_list_match:
209.85.128.174: no match
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
250-andromeda.home
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
250-PIPELINING
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
250-SIZE 10240000
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
250-VRFY
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
250-ETRN
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
250-STARTTLS
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
250-ENHANCEDSTATUSCODES
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
250-8BITMIME
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
250 DSN
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: <
mail-ve0-f174.google.com[209.85.128.174]:
STARTTLS
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: query milter states for
other event
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_other_event: milter
inet:127.0.0.1:8891
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: >
mail-ve0-f174.google.com[209.85.128.174]:
220 2.0.0 Ready to start TLS
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: abort all milters
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: milter8_abort: abort milter
inet:127.0.0.1:8891
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr request = seed
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: send attr size = 32
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/tlsmgr: wanted
attribute: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: status
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value: 0
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/tlsmgr: wanted
attribute: seed
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: seed
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute value:
Yq65+voc3LQNVdBh7hwpJK7T0kNDyGKblUpQTyAY8oA=
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: private/tlsmgr: wanted
attribute: (list terminator)
Mar 13 20:23:55 andromeda postfix/smtpd[15316]: input attribute name: (end)
Mar 13 20:23:55 andromeda postfix/cleanup[15325]: D43E610006A: message-id=<
CADUOTo1h8zkNH-Pi-xpZ03Ko+n1_GqbhEdW23MN-npSYVyjYPA at mail.gmail.com>
Mar 13 20:23:55 andromeda opendkim[28129]: D43E610006A:
mail-ve0-f174.google.com [209.85.128.174] not internal
Mar 13 20:23:55 andromeda opendkim[28129]: D43E610006A: not authenticated
Mar 13 20:23:55 andromeda opendkim[28129]: D43E610006A: no signing domain
match for 'gmail.com'
Mar 13 20:23:55 andromeda opendkim[28129]: D43E610006A: no signing
subdomain match for 'gmail.com'
Mar 13 20:23:55 andromeda postfix/qmgr[15301]: D43E610006A: from=<
cryptodan at gmail.com>, size=6398, nrcpt=1 (queue active)
Mar 13 20:23:55 andromeda postfix/local[15327]: D43E610006A: to=<
cryptodan at cryptodan.net>, relay=local, delay=0.16, delays=0.15/0.01/0/0,
dsn=2.0.0, status=sent (delivered to maildir)
Mar 13 20:23:55 andromeda postfix/qmgr[15301]: D43E610006A: removed
Mar 13 20:24:01 andromeda postfix/smtpd[15316]: proxymap stream disconnect
Mar 13 20:24:01 andromeda postfix/smtpd[15316]: auto_clnt_close: disconnect
private/tlsmgr stream
Mar 13 20:24:01 andromeda postfix/smtpd[15316]: rewrite stream disconnect
Mar 13 20:25:35 andromeda postfix/smtpd[15316]: idle timeout -- exiting
Mar 13 20:27:12 andromeda dovecot: auth-worker: mysql(localhost): Connected
to database mail
Mar 13 20:27:12 andromeda dovecot: pop3-login: Login: user=<
cryptodan at cryptodan.net>, method=PLAIN, rip=96.244.76.114, lip=192.168.1.8,
mpid=15341, TLS
Mar 13 20:27:12 andromeda dovecot: pop3(cryptodan at cryptodan.net):
Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
Mar 13 20:27:15 andromeda postfix/anvil[15319]: statistics: max connection
rate 1/60s for (smtp:209.85.128.174) at Mar 14 00:23:55
Mar 13 20:27:15 andromeda postfix/anvil[15319]: statistics: max connection
count 1 for (smtp:209.85.128.174) at Mar 14 00:23:55
Mar 13 20:27:15 andromeda postfix/anvil[15319]: statistics: max cache size
1 at Mar 14 00:23:55
[/code]

*Here is the output of postconf -d:*

[code]
root at andromeda:/etc/postfix# postconf -d
2bounce_notice_recipient = postmaster
access_map_defer_code = 450
access_map_reject_code = 554
address_verify_cache_cleanup_interval = 12h
address_verify_default_transport = $default_transport
address_verify_local_transport = $local_transport
address_verify_map = btree:$data_directory/verify_cache
address_verify_negative_cache = yes
address_verify_negative_expire_time = 3d
address_verify_negative_refresh_time = 3h
address_verify_poll_count = ${stress?1}${stress:3}
address_verify_poll_delay = 3s
address_verify_positive_expire_time = 31d
address_verify_positive_refresh_time = 7d
address_verify_relay_transport = $relay_transport
address_verify_relayhost = $relayhost
address_verify_sender = $double_bounce_sender
address_verify_sender_dependent_default_transport_maps =
$sender_dependent_default_transport_maps
address_verify_sender_dependent_relayhost_maps =
$sender_dependent_relayhost_maps
address_verify_sender_ttl = 0s
address_verify_service_name = verify
address_verify_transport_maps = $transport_maps
address_verify_virtual_transport = $virtual_transport
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases, nis:mail.aliases
allow_mail_to_commands = alias, forward
allow_mail_to_files = alias, forward
allow_min_user = no
allow_percent_hack = yes
allow_untrusted_routing = no
alternate_config_directories =
always_add_missing_headers = no
always_bcc =
anvil_rate_time_unit = 60s
anvil_status_update_time = 600s
append_at_myorigin = yes
append_dot_mydomain = yes
application_event_drain_time = 100s
authorized_flush_users = static:anyone
authorized_mailq_users = static:anyone
authorized_submit_users = static:anyone
backwards_bounce_logfile_compatibility = yes
berkeley_db_create_buffer_size = 16777216
berkeley_db_read_buffer_size = 131072
best_mx_transport =
biff = yes
body_checks =
body_checks_size_limit = 51200
bounce_notice_recipient = postmaster
bounce_queue_lifetime = 5d
bounce_service_name = bounce
bounce_size_limit = 50000
bounce_template_file =
broken_sasl_auth_clients = no
bsmtp_delivery_slot_cost = $default_delivery_slot_cost
bsmtp_delivery_slot_discount = $default_delivery_slot_discount
bsmtp_delivery_slot_loan = $default_delivery_slot_loan
bsmtp_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
bsmtp_destination_concurrency_limit = $default_destination_concurrency_limit
bsmtp_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
bsmtp_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
bsmtp_destination_rate_delay = $default_destination_rate_delay
bsmtp_destination_recipient_limit = $default_destination_recipient_limit
bsmtp_extra_recipient_limit = $default_extra_recipient_limit
bsmtp_initial_destination_concurrency = $initial_destination_concurrency
bsmtp_minimum_delivery_slots = $default_minimum_delivery_slots
bsmtp_recipient_limit = $default_recipient_limit
bsmtp_recipient_refill_delay = $default_recipient_refill_delay
bsmtp_recipient_refill_limit = $default_recipient_refill_limit
bsmtp_time_limit = $command_time_limit
canonical_classes = envelope_sender, envelope_recipient, header_sender,
header_recipient
canonical_maps =
cleanup_service_name = cleanup
command_directory = /usr/sbin
command_execution_directory =
command_expansion_filter =
1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
command_time_limit = 1000s
config_directory = /etc/postfix
connection_cache_protocol_timeout = 5s
connection_cache_service_name = scache
connection_cache_status_update_time = 600s
connection_cache_ttl_limit = 2s
content_filter =
cyrus_sasl_config_path =
daemon_directory = /usr/lib/postfix
daemon_table_open_error_is_fatal = no
daemon_timeout = 18000s
data_directory = /var/lib/postfix
debug_peer_level = 2
debug_peer_list =
debugger_command =
default_database_type = hash
default_delivery_slot_cost = 5
default_delivery_slot_discount = 50
default_delivery_slot_loan = 3
default_destination_concurrency_failed_cohort_limit = 1
default_destination_concurrency_limit = 20
default_destination_concurrency_negative_feedback = 1
default_destination_concurrency_positive_feedback = 1
default_destination_rate_delay = 0s
default_destination_recipient_limit = 50
default_extra_recipient_limit = 1000
default_filter_nexthop =
default_minimum_delivery_slots = 3
default_privs = nobody
default_process_limit = 100
default_rbl_reply = $rbl_code Service unavailable; $rbl_class [$rbl_what]
blocked using $rbl_domain${rbl_reason?; $rbl_reason}
default_recipient_limit = 20000
default_recipient_refill_delay = 5s
default_recipient_refill_limit = 100
default_transport = smtp
default_verp_delimiters = +=
defer_code = 450
defer_service_name = defer
defer_transports =
delay_logging_resolution_limit = 2
delay_notice_recipient = postmaster
delay_warning_time = 0h
deliver_lock_attempts = 20
deliver_lock_delay = 1s
destination_concurrency_feedback_debug = no
detect_8bit_encoding_header = yes
disable_dns_lookups = no
disable_mime_input_processing = no
disable_mime_output_conversion = no
disable_verp_bounces = no
disable_vrfy_command = no
dnsblog_reply_delay = 0s
dnsblog_service_name = dnsblog
dont_remove = 0
double_bounce_sender = double-bounce
dovecot_delivery_slot_cost = $default_delivery_slot_cost
dovecot_delivery_slot_discount = $default_delivery_slot_discount
dovecot_delivery_slot_loan = $default_delivery_slot_loan
dovecot_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
dovecot_destination_concurrency_limit =
$default_destination_concurrency_limit
dovecot_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
dovecot_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
dovecot_destination_rate_delay = $default_destination_rate_delay
dovecot_destination_recipient_limit = $default_destination_recipient_limit
dovecot_extra_recipient_limit = $default_extra_recipient_limit
dovecot_initial_destination_concurrency = $initial_destination_concurrency
dovecot_minimum_delivery_slots = $default_minimum_delivery_slots
dovecot_recipient_limit = $default_recipient_limit
dovecot_recipient_refill_delay = $default_recipient_refill_delay
dovecot_recipient_refill_limit = $default_recipient_refill_limit
dovecot_time_limit = $command_time_limit
duplicate_filter_limit = 1000
empty_address_default_transport_maps_lookup_key = <>
empty_address_recipient = MAILER-DAEMON
empty_address_relayhost_maps_lookup_key = <>
enable_long_queue_ids = no
enable_original_recipient = yes
error_delivery_slot_cost = $default_delivery_slot_cost
error_delivery_slot_discount = $default_delivery_slot_discount
error_delivery_slot_loan = $default_delivery_slot_loan
error_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
error_destination_concurrency_limit = $default_destination_concurrency_limit
error_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
error_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
error_destination_rate_delay = $default_destination_rate_delay
error_destination_recipient_limit = $default_destination_recipient_limit
error_extra_recipient_limit = $default_extra_recipient_limit
error_initial_destination_concurrency = $initial_destination_concurrency
error_minimum_delivery_slots = $default_minimum_delivery_slots
error_notice_recipient = postmaster
error_recipient_limit = $default_recipient_limit
error_recipient_refill_delay = $default_recipient_refill_delay
error_recipient_refill_limit = $default_recipient_refill_limit
error_service_name = error
execution_directory_expansion_filter =
1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
expand_owner_alias = no
export_environment = TZ MAIL_CONFIG LANG
fallback_transport =
fallback_transport_maps =
fast_flush_domains = $relay_domains
fast_flush_purge_time = 7d
fast_flush_refresh_time = 12h
fault_injection_code = 0
flush_service_name = flush
fork_attempts = 5
fork_delay = 1s
forward_expansion_filter =
1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
forward_path = $home/.forward${recipient_delimiter}${extension},
$home/.forward
frozen_delivered_to = yes
hash_queue_depth = 1
hash_queue_names = deferred, defer
header_address_token_limit = 10240
header_checks =
header_size_limit = 102400
helpful_warnings = yes
home_mailbox =
hopcount_limit = 50
html_directory = no
ifmail_delivery_slot_cost = $default_delivery_slot_cost
ifmail_delivery_slot_discount = $default_delivery_slot_discount
ifmail_delivery_slot_loan = $default_delivery_slot_loan
ifmail_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
ifmail_destination_concurrency_limit =
$default_destination_concurrency_limit
ifmail_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
ifmail_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
ifmail_destination_rate_delay = $default_destination_rate_delay
ifmail_destination_recipient_limit = $default_destination_recipient_limit
ifmail_extra_recipient_limit = $default_extra_recipient_limit
ifmail_initial_destination_concurrency = $initial_destination_concurrency
ifmail_minimum_delivery_slots = $default_minimum_delivery_slots
ifmail_recipient_limit = $default_recipient_limit
ifmail_recipient_refill_delay = $default_recipient_refill_delay
ifmail_recipient_refill_limit = $default_recipient_refill_limit
ifmail_time_limit = $command_time_limit
ignore_mx_lookup_error = no
import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY
DISPLAY LANG=C
in_flow_delay = 1s
inet_interfaces = all
inet_protocols = all
initial_destination_concurrency = 5
internal_mail_filter_classes =
invalid_hostname_reject_code = 501
ipc_idle = 5s
ipc_timeout = 3600s
ipc_ttl = 1000s
line_length_limit = 2048
lmtp_address_preference = any
lmtp_assume_final = no
lmtp_bind_address =
lmtp_bind_address6 =
lmtp_body_checks =
lmtp_cname_overrides_servername = no
lmtp_connect_timeout = 0s
lmtp_connection_cache_destinations =
lmtp_connection_cache_on_demand = yes
lmtp_connection_cache_time_limit = 2s
lmtp_connection_reuse_time_limit = 300s
lmtp_data_done_timeout = 600s
lmtp_data_init_timeout = 120s
lmtp_data_xfer_timeout = 180s
lmtp_defer_if_no_mx_address_found = no
lmtp_delivery_slot_cost = $default_delivery_slot_cost
lmtp_delivery_slot_discount = $default_delivery_slot_discount
lmtp_delivery_slot_loan = $default_delivery_slot_loan
lmtp_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
lmtp_destination_concurrency_limit = $default_destination_concurrency_limit
lmtp_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
lmtp_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
lmtp_destination_rate_delay = $default_destination_rate_delay
lmtp_destination_recipient_limit = $default_destination_recipient_limit
lmtp_discard_lhlo_keyword_address_maps =
lmtp_discard_lhlo_keywords =
lmtp_dns_resolver_options =
lmtp_enforce_tls = no
lmtp_extra_recipient_limit = $default_extra_recipient_limit
lmtp_generic_maps =
lmtp_header_checks =
lmtp_host_lookup = dns
lmtp_initial_destination_concurrency = $initial_destination_concurrency
lmtp_lhlo_name = $myhostname
lmtp_lhlo_timeout = 300s
lmtp_line_length_limit = 998
lmtp_mail_timeout = 300s
lmtp_mime_header_checks =
lmtp_minimum_delivery_slots = $default_minimum_delivery_slots
lmtp_mx_address_limit = 5
lmtp_mx_session_limit = 2
lmtp_nested_header_checks =
lmtp_per_record_deadline = no
lmtp_pix_workaround_delay_time = 10s
lmtp_pix_workaround_maps =
lmtp_pix_workaround_threshold_time = 500s
lmtp_pix_workarounds = disable_esmtp,delay_dotcrlf
lmtp_quit_timeout = 300s
lmtp_quote_rfc821_envelope = yes
lmtp_randomize_addresses = yes
lmtp_rcpt_timeout = 300s
lmtp_recipient_limit = $default_recipient_limit
lmtp_recipient_refill_delay = $default_recipient_refill_delay
lmtp_recipient_refill_limit = $default_recipient_refill_limit
lmtp_reply_filter =
lmtp_rset_timeout = 20s
lmtp_sasl_auth_cache_name =
lmtp_sasl_auth_cache_time = 90d
lmtp_sasl_auth_enable = no
lmtp_sasl_auth_soft_bounce = yes
lmtp_sasl_mechanism_filter =
lmtp_sasl_password_maps =
lmtp_sasl_path =
lmtp_sasl_security_options = noplaintext, noanonymous
lmtp_sasl_tls_security_options = $lmtp_sasl_security_options
lmtp_sasl_tls_verified_security_options = $lmtp_sasl_tls_security_options
lmtp_sasl_type = cyrus
lmtp_send_dummy_mail_auth = no
lmtp_send_xforward_command = no
lmtp_sender_dependent_authentication = no
lmtp_skip_5xx_greeting = yes
lmtp_skip_quit_response = no
lmtp_starttls_timeout = 300s
lmtp_tcp_port = 24
lmtp_tls_CAfile =
lmtp_tls_CApath =
lmtp_tls_block_early_mail_reply = no
lmtp_tls_cert_file =
lmtp_tls_ciphers = export
lmtp_tls_dcert_file =
lmtp_tls_dkey_file = $lmtp_tls_dcert_file
lmtp_tls_eccert_file =
lmtp_tls_eckey_file = $lmtp_tls_eccert_file
lmtp_tls_enforce_peername = yes
lmtp_tls_exclude_ciphers =
lmtp_tls_fingerprint_cert_match =
lmtp_tls_fingerprint_digest = md5
lmtp_tls_key_file = $lmtp_tls_cert_file
lmtp_tls_loglevel = 0
lmtp_tls_mandatory_ciphers = medium
lmtp_tls_mandatory_exclude_ciphers =
lmtp_tls_mandatory_protocols = !SSLv2
lmtp_tls_note_starttls_offer = no
lmtp_tls_per_site =
lmtp_tls_policy_maps =
lmtp_tls_protocols = !SSLv2
lmtp_tls_scert_verifydepth = 9
lmtp_tls_secure_cert_match = nexthop
lmtp_tls_security_level =
lmtp_tls_session_cache_database =
lmtp_tls_session_cache_timeout = 3600s
lmtp_tls_verify_cert_match = hostname
lmtp_use_tls = no
lmtp_xforward_timeout = 300s
local_command_shell =
local_delivery_slot_cost = $default_delivery_slot_cost
local_delivery_slot_discount = $default_delivery_slot_discount
local_delivery_slot_loan = $default_delivery_slot_loan
local_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
local_destination_concurrency_limit = 2
local_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
local_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
local_destination_rate_delay = $default_destination_rate_delay
local_destination_recipient_limit = 1
local_extra_recipient_limit = $default_extra_recipient_limit
local_header_rewrite_clients = permit_inet_interfaces
local_initial_destination_concurrency = $initial_destination_concurrency
local_minimum_delivery_slots = $default_minimum_delivery_slots
local_recipient_limit = $default_recipient_limit
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
local_recipient_refill_delay = $default_recipient_refill_delay
local_recipient_refill_limit = $default_recipient_refill_limit
local_transport = local:$myhostname
luser_relay =
mail_name = Postfix
mail_owner = postfix
mail_release_date = 20130203
mail_spool_directory = /var/mail
mail_version = 2.9.6
mailbox_command =
mailbox_command_maps =
mailbox_delivery_lock = fcntl, dotlock
mailbox_size_limit = 51200000
mailbox_transport =
mailbox_transport_maps =
maildrop_delivery_slot_cost = $default_delivery_slot_cost
maildrop_delivery_slot_discount = $default_delivery_slot_discount
maildrop_delivery_slot_loan = $default_delivery_slot_loan
maildrop_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
maildrop_destination_concurrency_limit =
$default_destination_concurrency_limit
maildrop_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
maildrop_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
maildrop_destination_rate_delay = $default_destination_rate_delay
maildrop_destination_recipient_limit = $default_destination_recipient_limit
maildrop_extra_recipient_limit = $default_extra_recipient_limit
maildrop_initial_destination_concurrency = $initial_destination_concurrency
maildrop_minimum_delivery_slots = $default_minimum_delivery_slots
maildrop_recipient_limit = $default_recipient_limit
maildrop_recipient_refill_delay = $default_recipient_refill_delay
maildrop_recipient_refill_limit = $default_recipient_refill_limit
maildrop_time_limit = $command_time_limit
mailman_delivery_slot_cost = $default_delivery_slot_cost
mailman_delivery_slot_discount = $default_delivery_slot_discount
mailman_delivery_slot_loan = $default_delivery_slot_loan
mailman_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
mailman_destination_concurrency_limit =
$default_destination_concurrency_limit
mailman_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
mailman_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
mailman_destination_rate_delay = $default_destination_rate_delay
mailman_destination_recipient_limit = $default_destination_recipient_limit
mailman_extra_recipient_limit = $default_extra_recipient_limit
mailman_initial_destination_concurrency = $initial_destination_concurrency
mailman_minimum_delivery_slots = $default_minimum_delivery_slots
mailman_recipient_limit = $default_recipient_limit
mailman_recipient_refill_delay = $default_recipient_refill_delay
mailman_recipient_refill_limit = $default_recipient_refill_limit
mailman_time_limit = $command_time_limit
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
maps_rbl_domains =
maps_rbl_reject_code = 554
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains =
masquerade_exceptions =
master_service_disable =
max_idle = 100s
max_use = 100
maximal_backoff_time = 4000s
maximal_queue_lifetime = 5d
message_reject_characters =
message_size_limit = 10240000
message_strip_characters =
milter_command_timeout = 30s
milter_connect_macros = j {daemon_name} v
milter_connect_timeout = 30s
milter_content_timeout = 300s
milter_data_macros = i
milter_default_action = tempfail
milter_end_of_data_macros = i
milter_end_of_header_macros = i
milter_header_checks =
milter_helo_macros = {tls_version} {cipher} {cipher_bits} {cert_subject}
{cert_issuer}
milter_macro_daemon_name = $myhostname
milter_macro_v = $mail_name $mail_version
milter_mail_macros = i {auth_type} {auth_authen} {auth_author} {mail_addr}
{mail_host} {mail_mailer}
milter_protocol = 6
milter_rcpt_macros = i {rcpt_addr} {rcpt_host} {rcpt_mailer}
milter_unknown_command_macros =
mime_boundary_length_limit = 2048
mime_header_checks = $header_checks
mime_nesting_limit = 100
minimal_backoff_time = 300s
multi_instance_directories =
multi_instance_enable = no
multi_instance_group =
multi_instance_name =
multi_instance_wrapper =
multi_recipient_bounce_reject_code = 550
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = localdomain
myhostname = andromeda.home
mynetworks = 127.0.0.0/8 192.168.1.0/24
mynetworks_style = subnet
myorigin = $myhostname
nested_header_checks = $header_checks
newaliases_path = /usr/bin/newaliases
non_fqdn_reject_code = 504
non_smtpd_milters =
notify_classes = resource, software
owner_request_special = yes
parent_domain_matches_subdomains =
debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,smtpd_access_maps
permit_mx_backup_networks =
pickup_service_name = pickup
plaintext_reject_code = 450
postmulti_control_commands = reload flush
postmulti_start_commands = start
postmulti_stop_commands = stop abort drain quick-stop
postscreen_access_list = permit_mynetworks
postscreen_bare_newline_action = ignore
postscreen_bare_newline_enable = no
postscreen_bare_newline_ttl = 30d
postscreen_blacklist_action = ignore
postscreen_cache_cleanup_interval = 12h
postscreen_cache_map = btree:$data_directory/postscreen_cache
postscreen_cache_retention_time = 7d
postscreen_client_connection_count_limit =
$smtpd_client_connection_count_limit
postscreen_command_count_limit = 20
postscreen_command_filter =
postscreen_command_time_limit = ${stress?10}${stress:300}s
postscreen_disable_vrfy_command = $disable_vrfy_command
postscreen_discard_ehlo_keyword_address_maps =
$smtpd_discard_ehlo_keyword_address_maps
postscreen_discard_ehlo_keywords = $smtpd_discard_ehlo_keywords
postscreen_dnsbl_action = ignore
postscreen_dnsbl_reply_map =
postscreen_dnsbl_sites =
postscreen_dnsbl_threshold = 1
postscreen_dnsbl_ttl = 1h
postscreen_enforce_tls = $smtpd_enforce_tls
postscreen_expansion_filter = $smtpd_expansion_filter
postscreen_forbidden_commands = $smtpd_forbidden_commands
postscreen_greet_action = ignore
postscreen_greet_banner = $smtpd_banner
postscreen_greet_ttl = 1d
postscreen_greet_wait = ${stress?2}${stress:6}s
postscreen_helo_required = $smtpd_helo_required
postscreen_non_smtp_command_action = drop
postscreen_non_smtp_command_enable = no
postscreen_non_smtp_command_ttl = 30d
postscreen_pipelining_action = enforce
postscreen_pipelining_enable = no
postscreen_pipelining_ttl = 30d
postscreen_post_queue_limit = $default_process_limit
postscreen_pre_queue_limit = $default_process_limit
postscreen_reject_footer = $smtpd_reject_footer
postscreen_tls_security_level = $smtpd_tls_security_level
postscreen_use_tls = $smtpd_use_tls
postscreen_watchdog_timeout = 10s
postscreen_whitelist_interfaces = static:all
prepend_delivered_header = command, file, forward
process_id_directory = pid
propagate_unmatched_extensions = canonical, virtual
proxy_interfaces =
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
$sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps
$alias_maps
proxy_write_maps = $smtp_sasl_auth_cache_name $lmtp_sasl_auth_cache_name
$address_verify_map $postscreen_cache_map
proxymap_service_name = proxymap
proxywrite_service_name = proxywrite
qmgr_clog_warn_time = 300s
qmgr_daemon_timeout = 1000s
qmgr_fudge_factor = 100
qmgr_ipc_timeout = 60s
qmgr_message_active_limit = 20000
qmgr_message_recipient_limit = 20000
qmgr_message_recipient_minimum = 10
qmqpd_authorized_clients =
qmqpd_client_port_logging = no
qmqpd_error_delay = 1s
qmqpd_timeout = 300s
queue_directory = /var/spool/postfix
queue_file_attribute_count_limit = 100
queue_minfree = 0
queue_run_delay = 300s
queue_service_name = qmgr
rbl_reply_maps =
readme_directory = /usr/share/doc/postfix
receive_override_options =
recipient_bcc_maps =
recipient_canonical_classes = envelope_recipient, header_recipient
recipient_canonical_maps =
recipient_delimiter =
reject_code = 554
reject_tempfail_action = defer_if_permit
relay_clientcerts =
relay_delivery_slot_cost = $default_delivery_slot_cost
relay_delivery_slot_discount = $default_delivery_slot_discount
relay_delivery_slot_loan = $default_delivery_slot_loan
relay_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
relay_destination_concurrency_limit = $default_destination_concurrency_limit
relay_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
relay_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
relay_destination_rate_delay = $default_destination_rate_delay
relay_destination_recipient_limit = $default_destination_recipient_limit
relay_domains = $mydestination
relay_domains_reject_code = 554
relay_extra_recipient_limit = $default_extra_recipient_limit
relay_initial_destination_concurrency = $initial_destination_concurrency
relay_minimum_delivery_slots = $default_minimum_delivery_slots
relay_recipient_limit = $default_recipient_limit
relay_recipient_maps =
relay_recipient_refill_delay = $default_recipient_refill_delay
relay_recipient_refill_limit = $default_recipient_refill_limit
relay_transport = relay
relayhost =
relocated_maps =
remote_header_rewrite_domain =
require_home_directory = no
reset_owner_alias = no
resolve_dequoted_address = yes
resolve_null_domain = no
resolve_numeric_domain = no
retry_delivery_slot_cost = $default_delivery_slot_cost
retry_delivery_slot_discount = $default_delivery_slot_discount
retry_delivery_slot_loan = $default_delivery_slot_loan
retry_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
retry_destination_concurrency_limit = $default_destination_concurrency_limit
retry_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
retry_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
retry_destination_rate_delay = $default_destination_rate_delay
retry_destination_recipient_limit = $default_destination_recipient_limit
retry_extra_recipient_limit = $default_extra_recipient_limit
retry_initial_destination_concurrency = $initial_destination_concurrency
retry_minimum_delivery_slots = $default_minimum_delivery_slots
retry_recipient_limit = $default_recipient_limit
retry_recipient_refill_delay = $default_recipient_refill_delay
retry_recipient_refill_limit = $default_recipient_refill_limit
rewrite_service_name = rewrite
sample_directory = /usr/share/doc/postfix/examples
scalemail-backend_delivery_slot_cost = $default_delivery_slot_cost
scalemail-backend_delivery_slot_discount = $default_delivery_slot_discount
scalemail-backend_delivery_slot_loan = $default_delivery_slot_loan
scalemail-backend_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
scalemail-backend_destination_concurrency_limit =
$default_destination_concurrency_limit
scalemail-backend_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
scalemail-backend_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
scalemail-backend_destination_rate_delay = $default_destination_rate_delay
scalemail-backend_destination_recipient_limit =
$default_destination_recipient_limit
scalemail-backend_extra_recipient_limit = $default_extra_recipient_limit
scalemail-backend_initial_destination_concurrency =
$initial_destination_concurrency
scalemail-backend_minimum_delivery_slots = $default_minimum_delivery_slots
scalemail-backend_recipient_limit = $default_recipient_limit
scalemail-backend_recipient_refill_delay = $default_recipient_refill_delay
scalemail-backend_recipient_refill_limit = $default_recipient_refill_limit
scalemail-backend_time_limit = $command_time_limit
send_cyrus_sasl_authzid = no
sender_bcc_maps =
sender_canonical_classes = envelope_sender, header_sender
sender_canonical_maps =
sender_dependent_default_transport_maps =
sender_dependent_relayhost_maps =
sendmail_fix_line_endings = always
sendmail_path = /usr/sbin/sendmail
service_throttle_time = 60s
setgid_group = postdrop
show_user_unknown_table_name = yes
showq_service_name = showq
smtp_address_preference = any
smtp_always_send_ehlo = yes
smtp_bind_address =
smtp_bind_address6 =
smtp_body_checks =
smtp_cname_overrides_servername = no
smtp_connect_timeout = 30s
smtp_connection_cache_destinations =
smtp_connection_cache_on_demand = yes
smtp_connection_cache_time_limit = 2s
smtp_connection_reuse_time_limit = 300s
smtp_data_done_timeout = 600s
smtp_data_init_timeout = 120s
smtp_data_xfer_timeout = 180s
smtp_defer_if_no_mx_address_found = no
smtp_delivery_slot_cost = $default_delivery_slot_cost
smtp_delivery_slot_discount = $default_delivery_slot_discount
smtp_delivery_slot_loan = $default_delivery_slot_loan
smtp_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
smtp_destination_concurrency_limit = $default_destination_concurrency_limit
smtp_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
smtp_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
smtp_destination_rate_delay = $default_destination_rate_delay
smtp_destination_recipient_limit = $default_destination_recipient_limit
smtp_discard_ehlo_keyword_address_maps =
smtp_discard_ehlo_keywords =
smtp_dns_resolver_options =
smtp_enforce_tls = no
smtp_extra_recipient_limit = $default_extra_recipient_limit
smtp_fallback_relay = $fallback_relay
smtp_generic_maps =
smtp_header_checks =
smtp_helo_name = $myhostname
smtp_helo_timeout = 300s
smtp_host_lookup = dns
smtp_initial_destination_concurrency = $initial_destination_concurrency
smtp_line_length_limit = 998
smtp_mail_timeout = 300s
smtp_mime_header_checks =
smtp_minimum_delivery_slots = $default_minimum_delivery_slots
smtp_mx_address_limit = 5
smtp_mx_session_limit = 2
smtp_nested_header_checks =
smtp_never_send_ehlo = no
smtp_per_record_deadline = no
smtp_pix_workaround_delay_time = 10s
smtp_pix_workaround_maps =
smtp_pix_workaround_threshold_time = 500s
smtp_pix_workarounds = disable_esmtp,delay_dotcrlf
smtp_quit_timeout = 300s
smtp_quote_rfc821_envelope = yes
smtp_randomize_addresses = yes
smtp_rcpt_timeout = 300s
smtp_recipient_limit = $default_recipient_limit
smtp_recipient_refill_delay = $default_recipient_refill_delay
smtp_recipient_refill_limit = $default_recipient_refill_limit
smtp_reply_filter =
smtp_rset_timeout = 20s
smtp_sasl_auth_cache_name =
smtp_sasl_auth_cache_time = 90d
smtp_sasl_auth_enable = no
smtp_sasl_auth_soft_bounce = yes
smtp_sasl_mechanism_filter =
smtp_sasl_password_maps =
smtp_sasl_path =
smtp_sasl_security_options = noplaintext, noanonymous
smtp_sasl_tls_security_options = $smtp_sasl_security_options
smtp_sasl_tls_verified_security_options = $smtp_sasl_tls_security_options
smtp_sasl_type = cyrus
smtp_send_dummy_mail_auth = no
smtp_send_xforward_command = no
smtp_sender_dependent_authentication = no
smtp_skip_5xx_greeting = yes
smtp_skip_quit_response = yes
smtp_starttls_timeout = 300s
smtp_tls_CAfile =
smtp_tls_CApath =
smtp_tls_block_early_mail_reply = no
smtp_tls_cert_file =
smtp_tls_ciphers = export
smtp_tls_dcert_file =
smtp_tls_dkey_file = $smtp_tls_dcert_file
smtp_tls_eccert_file =
smtp_tls_eckey_file = $smtp_tls_eccert_file
smtp_tls_enforce_peername = yes
smtp_tls_exclude_ciphers =
smtp_tls_fingerprint_cert_match =
smtp_tls_fingerprint_digest = md5
smtp_tls_key_file = $smtp_tls_cert_file
smtp_tls_loglevel = 0
smtp_tls_mandatory_ciphers = medium
smtp_tls_mandatory_exclude_ciphers =
smtp_tls_mandatory_protocols = !SSLv2
smtp_tls_note_starttls_offer = no
smtp_tls_per_site =
smtp_tls_policy_maps =
smtp_tls_protocols = !SSLv2
smtp_tls_scert_verifydepth = 9
smtp_tls_secure_cert_match = nexthop, dot-nexthop
smtp_tls_security_level =
smtp_tls_session_cache_database =
smtp_tls_session_cache_timeout = 3600s
smtp_tls_verify_cert_match = hostname
smtp_use_tls = no
smtp_xforward_timeout = 300s
smtpd_authorized_verp_clients = $authorized_verp_clients
smtpd_authorized_xclient_hosts =
smtpd_authorized_xforward_hosts =
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_connection_count_limit = 50
smtpd_client_connection_rate_limit = 0
smtpd_client_event_limit_exceptions =
${smtpd_client_connection_limit_exceptions:$mynetworks}
smtpd_client_message_rate_limit = 0
smtpd_client_new_tls_session_rate_limit = 0
smtpd_client_port_logging = no
smtpd_client_recipient_rate_limit = 0
smtpd_client_restrictions =
smtpd_command_filter =
smtpd_data_restrictions =
smtpd_delay_open_until_valid_rcpt = yes
smtpd_delay_reject = yes
smtpd_discard_ehlo_keyword_address_maps =
smtpd_discard_ehlo_keywords =
smtpd_end_of_data_restrictions =
smtpd_enforce_tls = no
smtpd_error_sleep_time = 1s
smtpd_etrn_restrictions =
smtpd_expansion_filter =
\t\40!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~
smtpd_forbidden_commands = CONNECT GET POST
smtpd_hard_error_limit = ${stress?1}${stress:20}
smtpd_helo_required = no
smtpd_helo_restrictions =
smtpd_history_flush_threshold = 100
smtpd_junk_command_limit = ${stress?1}${stress:100}
smtpd_milters =
smtpd_noop_commands =
smtpd_null_access_lookup_key = <>
smtpd_peername_lookup = yes
smtpd_per_record_deadline = ${stress?yes}${stress:no}
smtpd_policy_service_max_idle = 300s
smtpd_policy_service_max_ttl = 1000s
smtpd_policy_service_timeout = 100s
smtpd_proxy_ehlo = $myhostname
smtpd_proxy_filter =
smtpd_proxy_options =
smtpd_proxy_timeout = 100s
smtpd_recipient_limit = 1000
smtpd_recipient_overshoot_limit = 1000
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
smtpd_reject_footer =
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = no
smtpd_restriction_classes =
smtpd_sasl_auth_enable = no
smtpd_sasl_authenticated_header = no
smtpd_sasl_exceptions_networks =
smtpd_sasl_local_domain =
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type = cyrus
smtpd_sender_login_maps =
smtpd_sender_restrictions =
smtpd_service_name = smtpd
smtpd_soft_error_limit = 10
smtpd_starttls_timeout = ${stress?10}${stress:300}s
smtpd_timeout = ${stress?10}${stress:300}s
smtpd_tls_CAfile =
smtpd_tls_CApath =
smtpd_tls_always_issue_session_ids = yes
smtpd_tls_ask_ccert = no
smtpd_tls_auth_only = no
smtpd_tls_ccert_verifydepth = 9
smtpd_tls_cert_file =
smtpd_tls_ciphers = export
smtpd_tls_dcert_file =
smtpd_tls_dh1024_param_file =
smtpd_tls_dh512_param_file =
smtpd_tls_dkey_file = $smtpd_tls_dcert_file
smtpd_tls_eccert_file =
smtpd_tls_eckey_file = $smtpd_tls_eccert_file
smtpd_tls_eecdh_grade = strong
smtpd_tls_exclude_ciphers =
smtpd_tls_fingerprint_digest = md5
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_tls_loglevel = 0
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_exclude_ciphers =
smtpd_tls_mandatory_protocols = !SSLv2
smtpd_tls_protocols =
smtpd_tls_received_header = no
smtpd_tls_req_ccert = no
smtpd_tls_security_level =
smtpd_tls_session_cache_database =
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_wrappermode = no
smtpd_use_tls = no
soft_bounce = no
stale_lock_time = 500s
stress =
strict_7bit_headers = no
strict_8bitmime = no
strict_8bitmime_body = no
strict_mailbox_ownership = yes
strict_mime_encoding_domain = no
strict_rfc821_envelopes = no
sun_mailtool_compatibility = no
swap_bangpath = yes
syslog_facility = mail
syslog_name =
${multi_instance_name:postfix}${multi_instance_name?$multi_instance_name}
tcp_windowsize = 0
tls_append_default_CA = no
tls_daemon_random_bytes = 32
tls_disable_workarounds =
tls_eecdh_strong_curve = prime256v1
tls_eecdh_ultra_curve = secp384r1
tls_export_cipherlist = aNULL:-aNULL:ALL:+RC4:@STRENGTH
tls_high_cipherlist = aNULL:-aNULL:ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH
tls_legacy_public_key_fingerprints = no
tls_low_cipherlist = aNULL:-aNULL:ALL:!EXPORT:+RC4:@STRENGTH
tls_medium_cipherlist = aNULL:-aNULL:ALL:!EXPORT:!LOW:+RC4:@STRENGTH
tls_null_cipherlist = eNULL:!aNULL
tls_preempt_cipherlist = no
tls_random_bytes = 32
tls_random_exchange_name = ${data_directory}/prng_exch
tls_random_prng_update_period = 3600s
tls_random_reseed_period = 3600s
tls_random_source = dev:/dev/urandom
tlsproxy_enforce_tls = $smtpd_enforce_tls
tlsproxy_service_name = tlsproxy
tlsproxy_tls_CAfile = $smtpd_tls_CAfile
tlsproxy_tls_CApath = $smtpd_tls_CApath
tlsproxy_tls_always_issue_session_ids = $smtpd_tls_always_issue_session_ids
tlsproxy_tls_ask_ccert = $smtpd_tls_ask_ccert
tlsproxy_tls_ccert_verifydepth = $smtpd_tls_ccert_verifydepth
tlsproxy_tls_cert_file = $smtpd_tls_cert_file
tlsproxy_tls_ciphers = $smtpd_tls_ciphers
tlsproxy_tls_dcert_file = $smtpd_tls_dcert_file
tlsproxy_tls_dh1024_param_file = $smtpd_tls_dh1024_param_file
tlsproxy_tls_dh512_param_file = $smtpd_tls_dh512_param_file
tlsproxy_tls_dkey_file = $smtpd_tls_dkey_file
tlsproxy_tls_eccert_file = $smtpd_tls_eccert_file
tlsproxy_tls_eckey_file = $smtpd_tls_eckey_file
tlsproxy_tls_eecdh_grade = $smtpd_tls_eecdh_grade
tlsproxy_tls_exclude_ciphers = $smtpd_tls_exclude_ciphers
tlsproxy_tls_fingerprint_digest = $smtpd_tls_fingerprint_digest
tlsproxy_tls_key_file = $smtpd_tls_key_file
tlsproxy_tls_loglevel = $smtpd_tls_loglevel
tlsproxy_tls_mandatory_ciphers = $smtpd_tls_mandatory_ciphers
tlsproxy_tls_mandatory_exclude_ciphers =
$smtpd_tls_mandatory_exclude_ciphers
tlsproxy_tls_mandatory_protocols = $smtpd_tls_mandatory_protocols
tlsproxy_tls_protocols = $smtpd_tls_protocols
tlsproxy_tls_req_ccert = $smtpd_tls_req_ccert
tlsproxy_tls_security_level = $smtpd_tls_security_level
tlsproxy_tls_session_cache_timeout = $smtpd_tls_session_cache_timeout
tlsproxy_use_tls = $smtpd_use_tls
tlsproxy_watchdog_timeout = 10s
trace_service_name = trace
transport_maps =
transport_retry_time = 60s
trigger_timeout = 10s
undisclosed_recipients_header =
unknown_address_reject_code = 450
unknown_address_tempfail_action = $reject_tempfail_action
unknown_client_reject_code = 450
unknown_helo_hostname_tempfail_action = $reject_tempfail_action
unknown_hostname_reject_code = 450
unknown_local_recipient_reject_code = 550
unknown_relay_recipient_reject_code = 550
unknown_virtual_alias_reject_code = 550
unknown_virtual_mailbox_reject_code = 550
unverified_recipient_defer_code = 450
unverified_recipient_reject_code = 450
unverified_recipient_reject_reason =
unverified_recipient_tempfail_action = $reject_tempfail_action
unverified_sender_defer_code = 450
unverified_sender_reject_code = 450
unverified_sender_reject_reason =
unverified_sender_tempfail_action = $reject_tempfail_action
uucp_delivery_slot_cost = $default_delivery_slot_cost
uucp_delivery_slot_discount = $default_delivery_slot_discount
uucp_delivery_slot_loan = $default_delivery_slot_loan
uucp_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
uucp_destination_concurrency_limit = $default_destination_concurrency_limit
uucp_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
uucp_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
uucp_destination_rate_delay = $default_destination_rate_delay
uucp_destination_recipient_limit = $default_destination_recipient_limit
uucp_extra_recipient_limit = $default_extra_recipient_limit
uucp_initial_destination_concurrency = $initial_destination_concurrency
uucp_minimum_delivery_slots = $default_minimum_delivery_slots
uucp_recipient_limit = $default_recipient_limit
uucp_recipient_refill_delay = $default_recipient_refill_delay
uucp_recipient_refill_limit = $default_recipient_refill_limit
uucp_time_limit = $command_time_limit
verp_delimiter_filter = -=+
virtual_alias_domains = $virtual_alias_maps
virtual_alias_expansion_limit = 1000
virtual_alias_maps = $virtual_maps
virtual_alias_recursion_limit = 1000
virtual_delivery_slot_cost = $default_delivery_slot_cost
virtual_delivery_slot_discount = $default_delivery_slot_discount
virtual_delivery_slot_loan = $default_delivery_slot_loan
virtual_destination_concurrency_failed_cohort_limit =
$default_destination_concurrency_failed_cohort_limit
virtual_destination_concurrency_limit =
$default_destination_concurrency_limit
virtual_destination_concurrency_negative_feedback =
$default_destination_concurrency_negative_feedback
virtual_destination_concurrency_positive_feedback =
$default_destination_concurrency_positive_feedback
virtual_destination_rate_delay = $default_destination_rate_delay
virtual_destination_recipient_limit = $default_destination_recipient_limit
virtual_extra_recipient_limit = $default_extra_recipient_limit
virtual_gid_maps =
virtual_initial_destination_concurrency = $initial_destination_concurrency
virtual_mailbox_base =
virtual_mailbox_domains = $virtual_mailbox_maps
virtual_mailbox_limit = 51200000
virtual_mailbox_lock = fcntl, dotlock
virtual_mailbox_maps =
virtual_minimum_delivery_slots = $default_minimum_delivery_slots
virtual_minimum_uid = 100
virtual_recipient_limit = $default_recipient_limit
virtual_recipient_refill_delay = $default_recipient_refill_delay
virtual_recipient_refill_limit = $default_recipient_refill_limit
virtual_transport = virtual
virtual_uid_maps =
[/code]

*Here is the output of my dovecot -n:*

[code]
root at andromeda:/etc/postfix# dovecot -n
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-38-generic-pae i686 Ubuntu 12.04.2 LTS ext4
disable_plaintext_auth = no
first_valid_uid = 150
last_valid_uid = 150
mail_gid = mail
mail_location = mbox:/var/vmail/%d/%n
mail_uid = vmail
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
}
postmaster_address = postmaster at cryptodan.net
protocols = imap pop3 sieve
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = mail
mode = 01224
user = vmail
}
}
ssl_ca = </etc/ssl/certs/ca-certificates.crt
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_cipher_list =
ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol imap {
imap_client_workarounds = tb-extra-mailbox-sep
mail_max_userip_connections = 10
}
protocol pop3 {
mail_max_userip_connections = 10
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
deliver_log_format = msgid=%m: %$
mail_plugins = sieve
postmaster_address = postmaster
quota_full_tempfail = yes
rejection_reason = Your message to <%t> was automatically rejected:%n%r
}
[/code]

I hope I provided enough information.

Thanks,
--
Daniel Reinhardt
cryptodan at cryptodan.net
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
mourik jan c heupink
2013-03-14 10:37:32 UTC
Permalink
Hi Daniel,

I'm new to dovecot myself, but did you read this:
http://wiki2.dovecot.org/LDA/Postfix

I'm guessing that perhaps you need to configure your virtual transport?
So, in master.cf, include a line like:

dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail
argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}

and configure virtual_transport = dovecot in main.cf

But again... I'm very new to all this myself, but perhaps it helps?

Regards,
MJ
Daniel Reinhardt
2013-03-14 10:53:37 UTC
Permalink
Replying back to the list.

On Thu, Mar 14, 2013 at 10:51 AM, mourik jan c heupink <
please reply to the list
Yes I have read everything on that, and yet postfix does not even see
the dovecot virtual transport.
On Thu, Mar 14, 2013 at 10:37 AM, mourik jan c heupink
Hi Daniel,
http://wiki2.dovecot.org/LDA/_**_Postfix<http://wiki2.dovecot.org/LDA/__Postfix>
<http://wiki2.dovecot.org/LDA/**Postfix<http://wiki2.dovecot.org/LDA/Postfix>
I'm guessing that perhaps you need to configure your virtual
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail
argv=/usr/local/libexec/__**dovecot/dovecot-lda -f ${sender} -d
${recipient}
and configure virtual_transport = dovecot in main.cf <http://main.cf>
But again... I'm very new to all this myself, but perhaps it helps?
Regards,
MJ
--
Daniel Reinhardt
cryptodan at cryptodan.net <mailto:cryptodan at cryptodan.**net<cryptodan at cryptodan.net>
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
--
Daniel Reinhardt
cryptodan at cryptodan.net
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
mourik jan c heupink
2013-03-14 11:02:38 UTC
Permalink
Looking at your config, I notice
virtual_transport = virtual

However according to http://wiki2.dovecot.org/LDA/Postfix:
main.cf:
dovecot_destination_recipient_limit = 1
virtual_mailbox_domains = your.domain.here
virtual_transport = dovecot

master.cf:
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail
argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}

But again, I'm new to all this. Here postfix/dovecot/virtual works fine,
and all I did was follow the docs.
Post by Daniel Reinhardt
Replying back to the list.
On Thu, Mar 14, 2013 at 10:51 AM, mourik jan c heupink <
please reply to the list
Yes I have read everything on that, and yet postfix does not even see
the dovecot virtual transport.
On Thu, Mar 14, 2013 at 10:37 AM, mourik jan c heupink
Hi Daniel,
http://wiki2.dovecot.org/LDA/_**_Postfix<http://wiki2.dovecot.org/LDA/__Postfix>
<http://wiki2.dovecot.org/LDA/**Postfix<http://wiki2.dovecot.org/LDA/Postfix>
I'm guessing that perhaps you need to configure your virtual
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail
argv=/usr/local/libexec/__**dovecot/dovecot-lda -f ${sender} -d
${recipient}
and configure virtual_transport = dovecot in main.cf <http://main.cf>
But again... I'm very new to all this myself, but perhaps it helps?
Regards,
MJ
--
Daniel Reinhardt
cryptodan at cryptodan.net <mailto:cryptodan at cryptodan.**net<cryptodan at cryptodan.net>
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
Daniel Reinhardt
2013-03-14 11:11:14 UTC
Permalink
I looked at my config in main.cf and I do not see it. Can you point it out?


On Thu, Mar 14, 2013 at 11:02 AM, mourik jan c heupink <
Post by mourik jan c heupink
Looking at your config, I notice
virtual_transport = virtual
However according to http://wiki2.dovecot.org/LDA/**Postfix<http://wiki2.dovecot.org/LDA/Postfix>
dovecot_destination_recipient_**limit = 1
virtual_mailbox_domains = your.domain.here
virtual_transport = dovecot
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/local/libexec/**dovecot/dovecot-lda
-f ${sender} -d ${recipient}
But again, I'm new to all this. Here postfix/dovecot/virtual works fine,
and all I did was follow the docs.
Post by Daniel Reinhardt
Replying back to the list.
On Thu, Mar 14, 2013 at 10:51 AM, mourik jan c heupink <
please reply to the list
Yes I have read everything on that, and yet postfix does not even see
the dovecot virtual transport.
On Thu, Mar 14, 2013 at 10:37 AM, mourik jan c heupink
Hi Daniel,
http://wiki2.dovecot.org/LDA/_****_Postfix<http://wiki2.dovecot.org/LDA/_**_Postfix>
<http://wiki2.**dovecot.org/LDA/__Postfix<http://wiki2.dovecot.org/LDA/__Postfix>
<http://wiki2.dovecot.org/LDA/****Postfix<http://wiki2.dovecot.org/LDA/**Postfix>
<http://wiki2.**dovecot.org/LDA/Postfix<http://wiki2.dovecot.org/LDA/Postfix>
I'm guessing that perhaps you need to configure your virtual
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail
argv=/usr/local/libexec/__****dovecot/dovecot-lda -f ${sender} -d
${recipient}
and configure virtual_transport = dovecot in main.cf <
http://main.cf>
But again... I'm very new to all this myself, but perhaps it helps?
Regards,
MJ
--
Daniel Reinhardt
cryptodan at cryptodan.net <mailto:cryptodan at cryptodan.****net<
cryptodan at cryptodan.net>
Post by Daniel Reinhardt
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
--
Daniel Reinhardt
cryptodan at cryptodan.net
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
Charles Marcus
2013-03-14 11:34:52 UTC
Permalink
Post by Daniel Reinhardt
I looked at my config in main.cf and I do not see it. Can you point it out?
First, virtual_transport = virtual is the default setting. Since you
posted -d output, that is what was shown.

With postfix (and I believe dovecot), the last config entry wins. So, if
you have a certain setting specified twice in the config file, the last
one (closest to the bottom) is the one that is used.

Postconf -n output will show you whether or not you have changed it.

If you are certain you have changed it, and postconf -n output doesn't
show virtual_transport = dovecot, then you either have your change
somewhere above the default in main.cf (meaning your setting is not the
last one, and so is over-ridden), or, you are not using the main.cf file
you think you are.

Show contents of master.cf (minus commented lines)...

Is your postfix chroot'd? If so (no 'n' in the chroot column), then you
are probably editing the wrong main.cf.

A long time ago I decided it was easier to just create a section at the
very end of main.cf, and put all of my changes there.
--
Best regards,

Charles
Daniel Reinhardt
2013-03-14 22:41:14 UTC
Permalink
Thank you for point that out, so I went ahead and removed postfix, mysql,
and dovecot in hopes to start fresh and follow the guide I used previously.
Yet Postfix still isnt sending mail to the virtual mailbox setting defined
in my dovecot config:

Here is the output of the postconf -n. I aplogize for the postconf -d, as
I was not aware of the difference.

//// Postconf -n
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
content_filter = amavis:[127.0.0.1]:10024
disable_vrfy_command = yes
dovecot_destination_recipient_limit = 1
inet_interfaces = all
mailbox_size_limit = 0
maximal_backoff_time = 8000s
maximal_queue_lifetime = 7d
minimal_backoff_time = 1000s
mydestination = localhost, cryptodan.net, mail.cryptodan.net,
mail.pandorah.net, pandorah.net, andromeda.milkyway
myhostname = andromeda.milkyway
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mynetworks_style = host
myorigin = /etc/hostname
readme_directory = no
recipient_delimiter = +
smtp_helo_timeout = 60s
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org,
reject_rbl_client blackholes.easynet.nl, reject_rbl_client dnsbl.njabl.org
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_delay_reject = yes
smtpd_hard_error_limit = 12
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, warn_if_reject
reject_non_fqdn_hostname, reject_invalid_hostname, permit
smtpd_recipient_limit = 16
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks,
permit_sasl_authenticated, reject_non_fqdn_recipient,
reject_unknown_recipient_domain, reject_unauth_destination,
check_policy_service inet:127.0.0.1:10023, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks,
warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain,
reject_unauth_pipelining, permit
smtpd_soft_error_limit = 3
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 450
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_domainaliases_maps.cf
virtual_gid_maps = static:8
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf,
mysql:/etc/postfix/mysql_virtual_mailbox_domainaliases_maps.cf
virtual_transport = dovecot
virtual_uid_maps = static:150
////

Here is the virtual_transport set in master.cf to dovecot:

dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -d
$(recipient)

Here is my dovecot -n output:

/////root at andromeda:/etc/postfix# dovecot -n
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-38-generic-pae i686 Ubuntu 12.04.2 LTS ext4
disable_plaintext_auth = no
first_valid_uid = 150
last_valid_uid = 150
mail_gid = mail
mail_location = maildir:/var/vmail/%d/%n
mail_uid = vmail
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 pop3 sieve
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = mail
mode = 01224
user = vmail
}
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_cipher_list =
ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol imap {
imap_client_workarounds = tb-extra-mailbox-sep
mail_max_userip_connections = 10
}
protocol pop3 {
mail_max_userip_connections = 10
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
deliver_log_format = msgid=%m: %$
mail_plugins = sieve
postmaster_address = postmaster
quota_full_tempfail = yes
rejection_reason = Your message to <%t> was automatically rejected:%n%r
}

////

Thanks,
Daniel Reinhardt



On Thu, Mar 14, 2013 at 11:34 AM, Charles Marcus
Post by Charles Marcus
Post by Daniel Reinhardt
I looked at my config in main.cf and I do not see it. Can you point it out?
First, virtual_transport = virtual is the default setting. Since you
posted -d output, that is what was shown.
With postfix (and I believe dovecot), the last config entry wins. So, if
you have a certain setting specified twice in the config file, the last one
(closest to the bottom) is the one that is used.
Postconf -n output will show you whether or not you have changed it.
If you are certain you have changed it, and postconf -n output doesn't
show virtual_transport = dovecot, then you either have your change
somewhere above the default in main.cf (meaning your setting is not the
last one, and so is over-ridden), or, you are not using the main.cf file
you think you are.
Show contents of master.cf (minus commented lines)...
Is your postfix chroot'd? If so (no 'n' in the chroot column), then you
are probably editing the wrong main.cf.
A long time ago I decided it was easier to just create a section at the
very end of main.cf, and put all of my changes there.
--
Best regards,
Charles
--
Daniel Reinhardt
cryptodan at cryptodan.net
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
Charles Marcus
2013-03-15 10:58:18 UTC
Permalink
Post by Daniel Reinhardt
Here is the output of the postconf -n. I aplogize for the postconf -d, as
I was not aware of the difference.
No problem... but you forgot the other most important thing...

NON-VERBOSE postfix logs exhibiting the problem...
--
Best regards,

Charles
Daniel Reinhardt
2013-03-15 11:11:13 UTC
Permalink
Here are the non-verbose mode of the logs exhibiting the problem:

///
Mar 15 06:56:37 andromeda dovecot: lda(cryptodan): Fatal: setgid(8(mail)
from mail_gid setting) failed with euid=1000(cryptodan),
gid=1000(cryptodan), egid=1000(cryptodan): Operation not permitted (This
binary should probably be called with process group set to 8(mail) instead
of 1000(cryptodan))


Mar 15 06:56:38 andromeda dovecot: lda(cryptodan): Fatal: setgid(8(mail)
from mail_gid setting) failed with euid=1000(cryptodan),
gid=1000(cryptodan), egid=1000(cryptodan): Operation not permitted (This
binary should probably be called with process group set to 8(mail) instead
of 1000(cryptodan))

Mar 15 06:56:38 andromeda postfix/local[5433]: E6DD110007E: to=<
cryptodan at cryptodan.net>, relay=local, delay=0.11, delays=0.07/0/0/0.04,
dsn=4.3.0, status=deferred (temporary failure)

Mar 15 06:56:38 andromeda dovecot: lda(cryptodan): Fatal: setgid(8(mail)
from mail_gid setting) failed with euid=1000(cryptodan),
gid=1000(cryptodan), egid=1000(cryptodan): Operation not permitted (This
binary should probably be called with process group set to 8(mail) instead
of 1000(cryptodan))

Mar 15 06:56:38 andromeda postfix/local[5439]: 20BB2100076: to=<
cryptodan at cryptodan.net>, relay=local, delay=879, delays=879/0.01/0/0.03,
dsn=4.3.0, status=deferred (temporary failure)

Mar 15 06:59:56 andromeda postfix/anvil[5420]: statistics: max connection
rate 1/60s for (smtp:209.85.212.41) at Mar 15 10:56:35

Mar 15 06:59:56 andromeda postfix/anvil[5420]: statistics: max connection
count 1 for (smtp:209.85.212.41) at Mar 15 10:56:35

Mar 15 06:59:56 andromeda postfix/anvil[5420]: statistics: max cache size 1
at Mar 15 10:56:35
///

I did not remove anything, just separated the log entries to make them more
readable.

dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -d
$(recipient)



On Fri, Mar 15, 2013 at 10:58 AM, Charles Marcus
Post by Charles Marcus
Post by Daniel Reinhardt
Here is the output of the postconf -n. I aplogize for the postconf -d, as
I was not aware of the difference.
No problem... but you forgot the other most important thing...
NON-VERBOSE postfix logs exhibiting the problem...
--
Best regards,
Charles
--
Daniel Reinhardt
cryptodan at cryptodan.net
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
Charles Marcus
2013-03-15 11:35:14 UTC
Permalink
Post by Daniel Reinhardt
///
Mar 15 06:56:37 andromeda dovecot: lda(cryptodan): Fatal: setgid(8(mail)
from mail_gid setting) failed with euid=1000(cryptodan),
gid=1000(cryptodan), egid=1000(cryptodan): Operation not permitted (This
binary should probably be called with process group set to 8(mail) instead
of 1000(cryptodan))
Ok, thanks - that should be enough for someone who knows more than me to
figure out what you have done wrong...
--
Best regards,

Charles
Steffen Kaiser
2013-03-15 12:46:46 UTC
Permalink
Post by Charles Marcus
Post by Daniel Reinhardt
///
Mar 15 06:56:37 andromeda dovecot: lda(cryptodan): Fatal: setgid(8(mail)
from mail_gid setting) failed with euid=1000(cryptodan),
gid=1000(cryptodan), egid=1000(cryptodan): Operation not permitted (This
binary should probably be called with process group set to 8(mail) instead
of 1000(cryptodan))
Ok, thanks - that should be enough for someone who knows more than me to
figure out what you have done wrong...
Check out mail_access_groups setting or make LDA setuid.

- --
Steffen Kaiser
Daniel Reinhardt
2013-03-16 00:47:22 UTC
Permalink
I got the permission issues fixed, so now I am unable to retrieve email via
imap or pop3 with either thunderbird, iphone, or webmail application. Is
there something I am not doing that is preventing this from working?

POP3 and IMAP logins work just fine.


On Fri, Mar 15, 2013 at 12:46 PM, Steffen Kaiser <
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Charles Marcus
Post by Daniel Reinhardt
///
Mar 15 06:56:37 andromeda dovecot: lda(cryptodan): Fatal: setgid(8(mail)
from mail_gid setting) failed with euid=1000(cryptodan),
gid=1000(cryptodan), egid=1000(cryptodan): Operation not permitted (This
binary should probably be called with process group set to 8(mail) instead
of 1000(cryptodan))
Ok, thanks - that should be enough for someone who knows more than me to
figure out what you have done wrong...
Check out mail_access_groups setting or make LDA setuid.
- -- Steffen Kaiser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEVAwUBUUMYNl3r2wJMiz2NAQIyJg**f/VhNc/**VjhXAMjiDbv9U27IWw9iwabh4/t
c+**SDKxFocvD08pVYc0tejH6t9Q4RwAWX**VukDa7a+**pKBc6oOeDzX7MUA6ylsei4vN
Sqlo3Ne7fdFtxZ6pKkoXUxmFmIDJ9a**eF75WcgDpxZYSb0GNOYEdcNJJrzt1d**Ngm/
BxR2iualCro02kGGVSO/**usTwxf3JRHVFzuV6kSCspJPXbF0V+**D80QCGtl68UTAYm
0ypAB9K7PDk/**29QjVQolME0NkLYR2YXNeFuQw4Ti9r**riZwThY21FR8Nn851ott+M
tmA7tgOAYTDBUd4LvzMgd+Kto+**tRqsW5ZyhPdRJrh+gYKpqpYQ/0HQ==
=eTP/
-----END PGP SIGNATURE-----
--
Daniel Reinhardt
cryptodan at cryptodan.net
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
Noel Butler
2013-03-16 09:58:08 UTC
Permalink
Post by Daniel Reinhardt
I got the permission issues fixed, so now I am unable to retrieve email via
imap or pop3 with either thunderbird, iphone, or webmail application. Is
there something I am not doing that is preventing this from working?
POP3 and IMAP logins work just fine.
Check permissions, and "logs", if dovecot can't give you something its
pretty good (most of the time) by logging it,
and it can't be working fine if those applications can not "read" mail,
since they are front ends talking to pop3 and imap.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130316/2627fd33/attachment.bin>
mourik jan heupink
2013-03-15 12:14:49 UTC
Permalink
Post by Daniel Reinhardt
Operation not permitted (This
Post by Daniel Reinhardt
binary should probably be called with process group set to 8(mail) instead
of 1000(cryptodan))
this could mean it tries to become 8(mail) to be able to deliver, and
it's not allowed to?

MJ
Charles Marcus
2013-03-15 11:20:16 UTC
Permalink
Post by Daniel Reinhardt
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -d
$(recipient)
I don't totally understand this stuff, but mine is different, and contains:

dovecot unix - n n - - pipe
flags=DROhu user=postfix:postfix argv=/usr/libexec/dovecot/dovecot-lda
-f ${sender} -a ${recipient} -d ${user}@${nexthop}

and none of the examples on t he dovecot wiki look like yours:

http://wiki2.dovecot.org/LDA/Postfix
--
Best regards,

Charles
mourik jan heupink
2013-03-15 12:15:25 UTC
Permalink
Post by mourik jan c heupink
Post by Daniel Reinhardt
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -d
$(recipient)
dovecot unix - n n - - pipe
flags=DROhu user=postfix:postfix argv=/usr/libexec/dovecot/dovecot-lda
And for what it's worth... here is mine:

dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f
${sender} -d ${recipient}
Noel Butler
2013-03-16 09:53:33 UTC
Permalink
Post by mourik jan heupink
Post by mourik jan c heupink
dovecot unix - n n - - pipe
flags=DROhu user=postfix:postfix argv=/usr/libexec/dovecot/dovecot-lda
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f
${sender} -d ${recipient}
That's the old method, if my hazy memory is serving me half right
tonight, that will not permit recipient delimiter processing
To accommodate that suggest using -
-f ${sender} -d ${user}@${nexthop}

FWIW I also use "-e" was nicer for rejecting unknown users.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130316/45fd98b7/attachment.bin>
mourik jan heupink
2013-03-16 14:33:31 UTC
Permalink
Post by Noel Butler
That's the old method, if my hazy memory is serving me half right
tonight, that will not permit recipient delimiter processing
To accommodate that suggest using -
Ah interesting..! Is that perhaps why
dovecot_destination_recipient_limit=1
was needed, here..?
Noel Butler
2013-03-17 00:29:20 UTC
Permalink
Post by Daniel Reinhardt
destination_recipient_limit
Not sure what happened there but evolution did not like all the chars in
your post when invoking reply... probably time to update this darn
thing, its the last ubuntu POS that hasn't been updated to opensuse yet.


" Ah interesting..! Is that perhaps why
dovecot_destination_recipient_limit=1 was needed, here..? "

No, it was to reduce the possibility of some other little quirks rearing
their nasty heads IIRC.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130317/50c23b21/attachment-0001.bin>
Daniel Reinhardt
2013-03-17 10:20:05 UTC
Permalink
I really find the lack of error logging, and the virtual lack of
documentation for Dovecot very disturbing. I am so close to dropping this
side project of being able to support multiple domains on a mail server.
It is in my utmost respectful opinion to have multiple files to edit just
to get this working in basic mode. Why cant dovecot combine all
configuration parameters into one config like that of postfix main.cf for
server config, and the master.cf for sockets and listeners?

If there are multiple files to be edited then the error logging should
mention what file contains the log, and where so you can easily locate the
issue. I find this software to be very lack luster and very difficult to
use.

Dovecot has given me nothing but headache and grief, and as far as I am
concerned not a finished product.
Post by Noel Butler
Post by Daniel Reinhardt
destination_recipient_limit
Not sure what happened there but evolution did not like all the chars in
your post when invoking reply... probably time to update this darn
thing, its the last ubuntu POS that hasn't been updated to opensuse yet.
" Ah interesting..! Is that perhaps why
dovecot_destination_recipient_limit=1 was needed, here..? "
No, it was to reduce the possibility of some other little quirks rearing
their nasty heads IIRC.
--
Daniel Reinhardt
cryptodan at cryptodan.net
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
Professa Dementia
2013-03-17 10:25:56 UTC
Permalink
Post by Daniel Reinhardt
I really find the lack of error logging, and the virtual lack of
documentation for Dovecot very disturbing. I am so close to dropping this
side project of being able to support multiple domains on a mail server.
It is in my utmost respectful opinion to have multiple files to edit just
to get this working in basic mode. Why cant dovecot combine all
configuration parameters into one config like that of postfix main.cf for
server config, and the master.cf for sockets and listeners?
If there are multiple files to be edited then the error logging should
mention what file contains the log, and where so you can easily locate the
issue. I find this software to be very lack luster and very difficult to
use.
Dovecot has given me nothing but headache and grief, and as far as I am
concerned not a finished product.
We are very sorry you are not satisfied with the software. Please feel
free to return the software for a full refund of all the money you paid.

If you do not like the multiple config files, you can always combine them.

Documentation is online at http://www.dovecot.org/documentation.html

Welcome to the world of open source. Software is provided through the
generous contributions of many people, all of whom have regular jobs and
do this because they enjoy it. With open source, if there is something
you do not like, you can change the software to your liking. Try that
with proprietary software.

And just a friendly word of advice: change your attitude or you will
find your cries fall on deaf ears.

Dem
Stan Hoeppner
2013-03-17 14:13:23 UTC
Permalink
Post by Professa Dementia
We are very sorry you are not satisfied with the software. Please feel
free to return the software for a full refund of all the money you paid.
You do not speak on behalf of Dovecot, Timo, this list, and certainly
not for me. Do not use "we" in this manner. And there's no reason to
be a smart ass.
Post by Professa Dementia
Welcome to the world of open source. Software is provided through the
generous contributions of many people, all of whom have regular jobs and
do this because they enjoy it. With open source, if there is something
you do not like, you can change the software to your liking. Try that
with proprietary software.
The OP is fully familiar with the open source model. Being open source
and developed by volunteer effort is NEVER an excuse for crappy software
or documentation. The OP has every right, and *duty* to voice his
opinion, whether it be praise or critique. Without critique software
doesn't get improved.

I absolutely agree with him. While the split config setup may make
sense to a developer, and it may work better with some automated tools,
it is counter intuitive for the majority of UNIX users. It should have
been made optional, not the default. Doing this was pretty stupid and
will confuse, possibly infuriate, new users, as in this case, and likely
some of those upgrading as well. Things like this, as well as
lackluster documentation, tend to retard adoption, or worse, drive
current users to competing solutions.
Post by Professa Dementia
And just a friendly word of advice: change your attitude or you will
find your cries fall on deaf ears.
The OP's attitude is fine. It is yours that is the problem. Dissent
and critique should be cherished, not attacked. We're not a bunch of
little Fascists walking in lock step under de Fuhrer Timo, so stop
acting like one.
--
Stan
Charles Marcus
2013-03-17 16:39:28 UTC
Permalink
Post by Stan Hoeppner
Post by Professa Dementia
We are very sorry you are not satisfied with the software. Please feel
free to return the software for a full refund of all the money you paid.
You do not speak on behalf of Dovecot, Timo, this list, and certainly
not for me. Do not use "we" in this manner. And there's no reason to
be a smart ass.
I'd call it more 'tongue-in-cheek'...

But the fact is, while not perfect, Dovecot is pretty well documented,
and Timo is very good about fixing it when errors are pointed out.

Also, the documentation link is very prominent on dovecots home page, so
the complaint about the 'virtual lack of documentation' is flat out
wrong and deserves to be called out.

Also, since it (the docs) is a wiki, and since this is 'free software',
there is nothing wrong with some level of expectation that others help
out if/when they encounter anything that lacks.
Post by Stan Hoeppner
The OP is fully familiar with the open source model.
So you know him personally? If you don't, then how can you be so sure? I
suggest that his false claim of the 'virtual lack of documentation'
suggests otherwise. People familiar with the open source model are also
familiar with how to look for documentation for open source software.
Post by Stan Hoeppner
Being open source and developed by volunteer effort is NEVER an excuse for crappy software or documentation.
So now *you* falsely claim that dovecot is 'crappy software with crappy
documentation?

The nice thing about open source software is you are free to use it,
make it better (either through code contributions, documentation
efforts, providing support on mail lists, etc), or, don't use it at all.

I suggest that your time would be better spent doing one of the above,
rather than just spewing false claims.
Post by Stan Hoeppner
The OP has every right, and *duty* to voice his opinion, whether it be praise or critique. Without critique software doesn't get improved.
Does he have every right to *lie* about it? Opinions vary, but facts are
facts, and the fact is, the claim that dovecot has a 'virtual lack of
documentation' is an outright lie.

It may not be as good as you or others might like, and there may be
certain places where it is a bit lacking, but rather than spewing false
claims, maybe your time would be better spent improving it?
Post by Stan Hoeppner
I absolutely agree with him.
Then you are free to do one of the above...
Post by Stan Hoeppner
While the split config setup may makesense to a developer, and it may work better with some automated tools, it is counter intuitive for the majority of UNIX users.
There are those who disagree with you. I happen to *not* be one of them,
I was certainly very confused by the split config when I first peeked at
it, but again, as has already been pointed out, you are free to put
everything in your own single config file. In fact, It is very easy to
do, and also (contrary to the false claims presented) well documented:

http://wiki2.dovecot.org/BasicConfiguration

In fact, I now really like doing it this way, because I can just add all
of my settings to a file named /etc/dovecot/conf.d/99-mysettings.conf,
and know that they will over-ride any settings in any other files.

This makes it really easy to manage my settings.

I do something similar in postfix - I add a new section at the very end
of main.cf:

*** Bgn My Custom Settings ***

my settings here

*** End My Custom Settings

This makes it very easy (for me) to manage changes and updates.

Of course, what I like may seem silly or confusing to someone else.

Isn't freedom cool? :)
Post by Stan Hoeppner
It should have been made optional, not the default.
This is a design decision. Timo is the primary dovecot author, so it is
his decision. You are free to disagree with it, but his choice doesn't
make dovecot 'crappy software'.
Post by Stan Hoeppner
Doing this was pretty stupid and will confuse, possibly infuriate, new users, as in this case, and likely some of those upgrading as well.
As long as they rtfm - and again, it *is* fairly well documented,
although personally I personally think it could be made more prominent.
And again - you are free to improve the documentation.

Regardless, it certainly isn't 'stupid', and is only likely to confuse
and/or infuriate new users who refuse to rtfm.
Post by Stan Hoeppner
Things like this, as well as lackluster documentation, tend to retard adoption, or worse, drive current users to competing solutions.
I would agree in general, but not with respect to dovecot in particular,
because I don't see dovecot as having 'lackluster' documentation.
Post by Stan Hoeppner
Post by Professa Dementia
And just a friendly word of advice: change your attitude or you will
find your cries fall on deaf ears.
Back at ya Stan. Normally you are pretty level-headed, and some of your
posts regarding details of enterprise hardware are extremely
informative, personally I think this post is way beneath you.
Post by Stan Hoeppner
The OP's attitude is fine. It is yours that is the problem. Dissent
and critique should be cherished, not attacked. We're not a bunch of
little Fascists walking in lock step under de Fuhrer Timo, so stop
acting like one.
Dissent is ok to a point, as long as it is done politely and without
unnecessary flaming, and includes some minimal amount of reasonable
argument.

Flame-baiting (ie making false claims that dovecot is 'crappy software
with lackluster or ), on the other hand, is absolutely *not* ok, and
imnsho, this is all the OP - and you - were engaging in.

When it boils down to a simple question of personal preference (ie the
'split config' issue), by all means, provide *constructive* criticism
(ie, make your argument against making the split config the default) -
but just name-calling and outright false-isms is *not* OK, and I for one
would appreciate it if you'd re-think your comments.

Personally, I think both of you owe Timo an apology.
--
Best regards,

Charles
Brian Hayden
2013-03-17 16:46:34 UTC
Permalink
Seriously. Stop it. Carry on your personal vendettas with Stan and others in private, please.

- bdh
Post by Charles Marcus
Post by Stan Hoeppner
Post by Professa Dementia
We are very sorry you are not satisfied with the software. Please feel
free to return the software for a full refund of all the money you paid.
You do not speak on behalf of Dovecot, Timo, this list, and certainly
not for me. Do not use "we" in this manner. And there's no reason to
be a smart ass.
I'd call it more 'tongue-in-cheek'...
But the fact is, while not perfect, Dovecot is pretty well documented, and Timo is very good about fixing it when errors are pointed out.
Also, the documentation link is very prominent on dovecots home page, so the complaint about the 'virtual lack of documentation' is flat out wrong and deserves to be called out.
Also, since it (the docs) is a wiki, and since this is 'free software', there is nothing wrong with some level of expectation that others help out if/when they encounter anything that lacks.
Post by Stan Hoeppner
The OP is fully familiar with the open source model.
So you know him personally? If you don't, then how can you be so sure? I suggest that his false claim of the 'virtual lack of documentation' suggests otherwise. People familiar with the open source model are also familiar with how to look for documentation for open source software.
Post by Stan Hoeppner
Being open source and developed by volunteer effort is NEVER an excuse for crappy software or documentation.
So now *you* falsely claim that dovecot is 'crappy software with crappy documentation?
The nice thing about open source software is you are free to use it, make it better (either through code contributions, documentation efforts, providing support on mail lists, etc), or, don't use it at all.
I suggest that your time would be better spent doing one of the above, rather than just spewing false claims.
Post by Stan Hoeppner
The OP has every right, and *duty* to voice his opinion, whether it be praise or critique. Without critique software doesn't get improved.
Does he have every right to *lie* about it? Opinions vary, but facts are facts, and the fact is, the claim that dovecot has a 'virtual lack of documentation' is an outright lie.
It may not be as good as you or others might like, and there may be certain places where it is a bit lacking, but rather than spewing false claims, maybe your time would be better spent improving it?
Post by Stan Hoeppner
I absolutely agree with him.
Then you are free to do one of the above...
Post by Stan Hoeppner
While the split config setup may makesense to a developer, and it may work better with some automated tools, it is counter intuitive for the majority of UNIX users.
http://wiki2.dovecot.org/BasicConfiguration
In fact, I now really like doing it this way, because I can just add all of my settings to a file named /etc/dovecot/conf.d/99-mysettings.conf, and know that they will over-ride any settings in any other files.
This makes it really easy to manage my settings.
*** Bgn My Custom Settings ***
my settings here
*** End My Custom Settings
This makes it very easy (for me) to manage changes and updates.
Of course, what I like may seem silly or confusing to someone else.
Isn't freedom cool? :)
Post by Stan Hoeppner
It should have been made optional, not the default.
This is a design decision. Timo is the primary dovecot author, so it is his decision. You are free to disagree with it, but his choice doesn't make dovecot 'crappy software'.
Post by Stan Hoeppner
Doing this was pretty stupid and will confuse, possibly infuriate, new users, as in this case, and likely some of those upgrading as well.
As long as they rtfm - and again, it *is* fairly well documented, although personally I personally think it could be made more prominent. And again - you are free to improve the documentation.
Regardless, it certainly isn't 'stupid', and is only likely to confuse and/or infuriate new users who refuse to rtfm.
Post by Stan Hoeppner
Things like this, as well as lackluster documentation, tend to retard adoption, or worse, drive current users to competing solutions.
I would agree in general, but not with respect to dovecot in particular, because I don't see dovecot as having 'lackluster' documentation.
Post by Stan Hoeppner
Post by Professa Dementia
And just a friendly word of advice: change your attitude or you will
find your cries fall on deaf ears.
Back at ya Stan. Normally you are pretty level-headed, and some of your posts regarding details of enterprise hardware are extremely informative, personally I think this post is way beneath you.
Post by Stan Hoeppner
The OP's attitude is fine. It is yours that is the problem. Dissent
and critique should be cherished, not attacked. We're not a bunch of
little Fascists walking in lock step under de Fuhrer Timo, so stop
acting like one.
Dissent is ok to a point, as long as it is done politely and without unnecessary flaming, and includes some minimal amount of reasonable argument.
Flame-baiting (ie making false claims that dovecot is 'crappy software with lackluster or ), on the other hand, is absolutely *not* ok, and imnsho, this is all the OP - and you - were engaging in.
When it boils down to a simple question of personal preference (ie the 'split config' issue), by all means, provide *constructive* criticism (ie, make your argument against making the split config the default) - but just name-calling and outright false-isms is *not* OK, and I for one would appreciate it if you'd re-think your comments.
Personally, I think both of you owe Timo an apology.
--
Best regards,
Charles
Daniel
2013-03-17 17:11:18 UTC
Permalink
First of all the wiki articles on dovecots site are poorly written compared to apache and postfix. That is what I mean by lack luster the error logging is lack luster as it doesn't specify the file or the line error is on like many very well supported applications like apache and postfix and that makes dovecot not very user friendly. I owe no one an apology for stating my opinion and I have over 10 years of using open source software and dovecot is the application that I have used that given me such headache and grief to the point I have given up on this learning experience.

Daniel Reinhardt
301-875-7018(c)
410-455-0488(h)
Post by Brian Hayden
Seriously. Stop it. Carry on your personal vendettas with Stan and others in private, please.
- bdh
Post by Charles Marcus
Post by Stan Hoeppner
Post by Professa Dementia
We are very sorry you are not satisfied with the software. Please feel
free to return the software for a full refund of all the money you paid.
You do not speak on behalf of Dovecot, Timo, this list, and certainly
not for me. Do not use "we" in this manner. And there's no reason to
be a smart ass.
I'd call it more 'tongue-in-cheek'...
But the fact is, while not perfect, Dovecot is pretty well documented, and Timo is very good about fixing it when errors are pointed out.
Also, the documentation link is very prominent on dovecots home page, so the complaint about the 'virtual lack of documentation' is flat out wrong and deserves to be called out.
Also, since it (the docs) is a wiki, and since this is 'free software', there is nothing wrong with some level of expectation that others help out if/when they encounter anything that lacks.
Post by Stan Hoeppner
The OP is fully familiar with the open source model.
So you know him personally? If you don't, then how can you be so sure? I suggest that his false claim of the 'virtual lack of documentation' suggests otherwise. People familiar with the open source model are also familiar with how to look for documentation for open source software.
Post by Stan Hoeppner
Being open source and developed by volunteer effort is NEVER an excuse for crappy software or documentation.
So now *you* falsely claim that dovecot is 'crappy software with crappy documentation?
The nice thing about open source software is you are free to use it, make it better (either through code contributions, documentation efforts, providing support on mail lists, etc), or, don't use it at all.
I suggest that your time would be better spent doing one of the above, rather than just spewing false claims.
Post by Stan Hoeppner
The OP has every right, and *duty* to voice his opinion, whether it be praise or critique. Without critique software doesn't get improved.
Does he have every right to *lie* about it? Opinions vary, but facts are facts, and the fact is, the claim that dovecot has a 'virtual lack of documentation' is an outright lie.
It may not be as good as you or others might like, and there may be certain places where it is a bit lacking, but rather than spewing false claims, maybe your time would be better spent improving it?
Post by Stan Hoeppner
I absolutely agree with him.
Then you are free to do one of the above...
Post by Stan Hoeppner
While the split config setup may makesense to a developer, and it may work better with some automated tools, it is counter intuitive for the majority of UNIX users.
http://wiki2.dovecot.org/BasicConfiguration
In fact, I now really like doing it this way, because I can just add all of my settings to a file named /etc/dovecot/conf.d/99-mysettings.conf, and know that they will over-ride any settings in any other files.
This makes it really easy to manage my settings.
*** Bgn My Custom Settings ***
my settings here
*** End My Custom Settings
This makes it very easy (for me) to manage changes and updates.
Of course, what I like may seem silly or confusing to someone else.
Isn't freedom cool? :)
Post by Stan Hoeppner
It should have been made optional, not the default.
This is a design decision. Timo is the primary dovecot author, so it is his decision. You are free to disagree with it, but his choice doesn't make dovecot 'crappy software'.
Post by Stan Hoeppner
Doing this was pretty stupid and will confuse, possibly infuriate, new users, as in this case, and likely some of those upgrading as well.
As long as they rtfm - and again, it *is* fairly well documented, although personally I personally think it could be made more prominent. And again - you are free to improve the documentation.
Regardless, it certainly isn't 'stupid', and is only likely to confuse and/or infuriate new users who refuse to rtfm.
Post by Stan Hoeppner
Things like this, as well as lackluster documentation, tend to retard adoption, or worse, drive current users to competing solutions.
I would agree in general, but not with respect to dovecot in particular, because I don't see dovecot as having 'lackluster' documentation.
Post by Stan Hoeppner
Post by Professa Dementia
And just a friendly word of advice: change your attitude or you will
find your cries fall on deaf ears.
Back at ya Stan. Normally you are pretty level-headed, and some of your posts regarding details of enterprise hardware are extremely informative, personally I think this post is way beneath you.
Post by Stan Hoeppner
The OP's attitude is fine. It is yours that is the problem. Dissent
and critique should be cherished, not attacked. We're not a bunch of
little Fascists walking in lock step under de Fuhrer Timo, so stop
acting like one.
Dissent is ok to a point, as long as it is done politely and without unnecessary flaming, and includes some minimal amount of reasonable argument.
Flame-baiting (ie making false claims that dovecot is 'crappy software with lackluster or ), on the other hand, is absolutely *not* ok, and imnsho, this is all the OP - and you - were engaging in.
When it boils down to a simple question of personal preference (ie the 'split config' issue), by all means, provide *constructive* criticism (ie, make your argument against making the split config the default) - but just name-calling and outright false-isms is *not* OK, and I for one would appreciate it if you'd re-think your comments.
Personally, I think both of you owe Timo an apology.
--
Best regards,
Charles
Jerry
2013-03-17 17:51:16 UTC
Permalink
On Sun, 17 Mar 2013 17:11:18 +0000
Post by Daniel
First of all the wiki articles on dovecots site are poorly written
compared to apache and postfix. That is what I mean by lack luster
the error logging is lack luster as it doesn't specify the file or
the line error is on like many very well supported applications like
apache and postfix and that makes dovecot not very user friendly. I
owe no one an apology for stating my opinion and I have over 10 years
of using open source software and dovecot is the application that I
have used that given me such headache and grief to the point I have
given up on this learning experience.
First of all, I don't think any sane person would argue that the
Dovecot documentation is in a league with Postfix or even Apache.
For that matter, I know of no other open source software that has
documentation as detailed as Postfix. Try deciphering the OpenSSL
documentation sometime. However, I think it is obvious that the poster
was simply "venting" his frustrations out on a convenient audience.

The logging could be "tightened" up and the documentation does need
work. With that said, I think we can put this matter to bed. Nothing is
going to come from it so why waste time arguing over it.
--
Jerry ?

Disclaimer: off-list followups get on-list replies or get ignored.
Please do not ignore the Reply-To header.
__________________________________________________________________
Timo Sirainen
2013-03-17 20:50:34 UTC
Permalink
Post by Daniel
First of all the wiki articles on dovecots site are poorly written compared to apache and postfix.
It's the best I can do myself. I have no idea how they could be improved in any major way. They say that the software developer himself is the worst possible person to write its documentation, because he can't understand what others find difficult..
Post by Daniel
That is what I mean by lack luster the error logging is lack luster as it doesn't specify the file or the line error is on like many very well supported applications like apache and postfix and that makes dovecot not very user friendly.
If there is a syntax error, Dovecot shows the file and line number. After that it should always mention the setting name that is causing trouble, which I'd think should be easy to grep from the configs.. I guess it could be useful to show the file+line for it, but that's quite a lot of code to add just to avoid a grep. It's also a bit tricky to do without wasting more memory (wasting memory in config / doveconf process is fine, but not elsewhere, and some settings won't get processed until later).
Post by Daniel
I owe no one an apology for stating my opinion and I have over 10 years of using open source software and dovecot is the application that I have used that given me such headache and grief to the point I have given up on this learning experience.
Quickly browsing through this thread, I guess this is the main problem? :

Mar 15 06:56:37 andromeda dovecot: lda(cryptodan): Fatal: setgid(8(mail)
from mail_gid setting) failed with euid=1000(cryptodan),
gid=1000(cryptodan), egid=1000(cryptodan): Operation not permitted (This
binary should probably be called with process group set to 8(mail) instead
of 1000(cryptodan))

Yes, this is something I've been annoyed at for a long time. But it's also not easy to make that error any better, except maybe by creating a wiki page explaining the whole thing and linking to it. (There are a ton of mails about this exact thing in Dovecot list archies.) There's also no setting that is specifically related to this (the problem is a mismatch between Dovecot/Postfix configuration). There is a super easy solution though: use LMTP instead of LDA, and there are no permission troubles. Maybe that's what the LDA wiki page should say.. Done: http://wiki2.dovecot.org/LDA
Jerry
2013-03-17 22:40:03 UTC
Permalink
On Sun, 17 Mar 2013 21:50:34 +0100
Post by Timo Sirainen
It's the best I can do myself. I have no idea how they could be
improved in any major way. They say that the software developer
himself is the worst possible person to write its documentation,
because he can't understand what others find difficult..
So very true Timo. That is why many fortune 500 companies use private
authors to write the documentation for their products. Someone who
knows nothing about it is usually the best one to write the
instructions. Of course, they are guided along by competent instructors
(hopefully). Unfortunately, the actual inventor or writer of an item
usually takes everything for granted. That is why I have enjoyed the
"Dummies" series of books. They break things down for the beginner as
well as being (in most cases) detailed enough for the more experienced
user.
--
Jerry ?

Disclaimer: off-list followups get on-list replies or get ignored.
Please do not ignore the Reply-To header.
__________________________________________________________________
Daniel Reinhardt
2013-03-17 23:27:22 UTC
Permalink
Timo,

First thank you for taking the time to reply to this, but I tried using
various LDA Command line suggestions from various places on the net, and
Postfix is not even seeing that dovecot is listed in the master.cf file as
a unix socket.

I have tried using LMTP and again it is not seeing that postfix is
configured to use dovecot-lmtp as a mail delivery agent for postfix. The
way postfix works with dovecot is via mail-stack-delivery and use of
mailbox_command that is set up within main.cf If I comment that out postfix
sends to default mode which is Maildir in the users /home directory.

I have configured SQL Lookups successfully for authentication within
postfix and dovecot, its just the mail delivery agent that is not working.
I even tried the sudo method, and that also failed.

Don't get me wrong Dovecot is a nice piece of software, but maybe getting
rid of the multiple files could make things easier, and a couple of sample
configs could then be included in the source.

And I am here trying to learn something new that I could put to use in a
future job if I were ever told to setup an email server to replace an
exchange system to handle multiple domains for various people.

So thanks for allowing me to learn another process of setting up a server
with email.

Sincerely,
Daniel Reinhardt
Post by Daniel
Post by Daniel
First of all the wiki articles on dovecots site are poorly written
compared to apache and postfix.
It's the best I can do myself. I have no idea how they could be improved
in any major way. They say that the software developer himself is the worst
possible person to write its documentation, because he can't understand
what others find difficult..
Post by Daniel
That is what I mean by lack luster the error logging is lack luster as
it doesn't specify the file or the line error is on like many very well
supported applications like apache and postfix and that makes dovecot not
very user friendly.
If there is a syntax error, Dovecot shows the file and line number. After
that it should always mention the setting name that is causing trouble,
which I'd think should be easy to grep from the configs.. I guess it could
be useful to show the file+line for it, but that's quite a lot of code to
add just to avoid a grep. It's also a bit tricky to do without wasting more
memory (wasting memory in config / doveconf process is fine, but not
elsewhere, and some settings won't get processed until later).
Post by Daniel
I owe no one an apology for stating my opinion and I have over 10 years
of using open source software and dovecot is the application that I have
used that given me such headache and grief to the point I have given up on
this learning experience.
Mar 15 06:56:37 andromeda dovecot: lda(cryptodan): Fatal: setgid(8(mail)
from mail_gid setting) failed with euid=1000(cryptodan),
gid=1000(cryptodan), egid=1000(cryptodan): Operation not permitted (This
binary should probably be called with process group set to 8(mail) instead
of 1000(cryptodan))
Yes, this is something I've been annoyed at for a long time. But it's also
not easy to make that error any better, except maybe by creating a wiki
page explaining the whole thing and linking to it. (There are a ton of
mails about this exact thing in Dovecot list archies.) There's also no
setting that is specifically related to this (the problem is a mismatch
between Dovecot/Postfix configuration). There is a super easy solution
though: use LMTP instead of LDA, and there are no permission troubles.
http://wiki2.dovecot.org/LDA
--
Daniel Reinhardt
cryptodan at cryptodan.net
http://www.cryptodan.net
301-875-7018(c)
410-455-0488(h)
Reindl Harald
2013-03-17 23:44:38 UTC
Permalink
Post by Daniel Reinhardt
First thank you for taking the time to reply to this, but I tried using
various LDA Command line suggestions from various places on the net, and
Postfix is not even seeing that dovecot is listed in the master.cf file as
a unix socket.
I have tried using LMTP and again it is not seeing that postfix is
configured to use dovecot-lmtp as a mail delivery agent for postfix
YOU ARE RESPONSIBLE TO CONFIGURE POSTFIX MASTER.CF
NOT DOVECOT
NOT ANYBODY ELSE

YOU ARE RESPONSIBLE TO SET POSTFIX-TRANSPORTS TO USE LMTP
NOT DOVECOT
NOT ANYBODY ELSE

RTFM - NOT THE DOVECOT THE POSTFIX ONES



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130318/8698359e/attachment.bin>
Stan Hoeppner
2013-03-18 15:33:16 UTC
Permalink
Post by Timo Sirainen
It's the best I can do myself. I have no idea how they could be improved in any major way. They say that the software developer himself is the worst possible person to write its documentation, because he can't understand what others find difficult..
I don't know who "they" is. Wietse writes all the Postfix documentation
himself. It comes naturally when one performs formal software
development, not ad hoc, because documentation precedes coding. I would
assume you do ad hoc development like most 20 somethings, coding on the
fly when you get an idea, no formal definitions, no flow charting, no
pseudo code, etc. Correct? If so this is 99% of the reason the
documentation suffers, and this is typical of today's crop of young
developers, unfortunately.

For highly technical material the author is the only person qualified to
write the docs. Having a 3rd party do it has a prerequisite of a Vulcan
mind meld. Otherwise you talk and they type, which is slower than you
doing it yourself.

A few things could improve the current docs in a major way.

1. Create man(ual) documentation, preferably with
2. A man page like postconf (5) which contains every single
Dovecot configuration parameter and text explaining it
3. This man page published online
4. Publish sample conf file(s) online
5. Make these things accessible from the main Dovecot page,
not buried down in the index hierarchy

I've always perceived the dovecot wiki docs with the hierarchical book,
chapter, verse, mini how-to layout as a dessert you assemble from the
buffet--a little cake, some pudding, a dab of whipped cream, chopped
nuts, and a cherry on top. You end up with a dessert, empty calories,
not a complete meal. You can't get full and keep going back, assembling
another dessert each time.

Typical UNIX documentation is steak and potatoes, veggies, and a dinner
roll. You sit down, eat, and you're full. No running around collecting
your food as you've got everything you need on one plate, and it's a
complete meal.
--
Stan
Larry Stone
2013-03-18 16:32:58 UTC
Permalink
Post by Stan Hoeppner
Post by Timo Sirainen
It's the best I can do myself. I have no idea how they could be
improved in any major way. They say that the software developer himself
is the worst possible person to write its documentation, because he
can't understand what others find difficult..
I don't know who "they" is. Wietse writes all the Postfix documentation
himself. It comes naturally when one performs formal software
development, not ad hoc, because documentation precedes coding. I would
assume you do ad hoc development like most 20 somethings, coding on the
fly when you get an idea, no formal definitions, no flow charting, no
pseudo code, etc. Correct? If so this is 99% of the reason the
documentation suffers, and this is typical of today's crop of young
developers, unfortunately.
For highly technical material the author is the only person qualified to
write the docs. Having a 3rd party do it has a prerequisite of a Vulcan
mind meld. Otherwise you talk and they type, which is slower than you
doing it yourself.
Software needs two types of documentation. It needs overview type
documentation that describes what it is. This is for the person who is
looking for a product and has no idea if this specific product can meet
the need.

Second, it needs reference documentation that provides syntax for
commands, config files, and the like. This is for the person who is or
will be using the product and needs the details to use it properly for the
need.

Somewhere in between is documentation that point the user to the right
reference section. Providing detailed documentation of a command is
worthless if nothing tells me that that command is what I should use for
my need.

The reference documentation may well best be written by the software
author who knows exactly what syntax, etc. is needed. It's also
relatively (and I emphasize "relatively") easy since it can be done as you
go.

But the overview documentation may well best be written by someone who
knows nothing about it. The expert writing overview documentation may
assume the reader knows things he doesn't. It can make sense to the author
but leaves the reader without a clue as to what is being discussed. When
the author is someone unfamiliar with the product, he asks questions until
it makes sense and there is less tendancy for the documentation to assume
knowledge by the reader that is not there.

Overview documentation is a lot tougher to write well and it needs someone
with good writing skills (not good programming skills). Particularly in
the open-source world where enhancements can come quickly, it can be out
of date as soon as it's written.

-- Larry Stone
lstone19 at stonejongleux.com
Timo Sirainen
2013-03-18 16:37:06 UTC
Permalink
Post by Stan Hoeppner
Post by Timo Sirainen
It's the best I can do myself. I have no idea how they could be improved in any major way. They say that the software developer himself is the worst possible person to write its documentation, because he can't understand what others find difficult..
I don't know who "they" is. Wietse writes all the Postfix documentation
himself. It comes naturally when one performs formal software
development, not ad hoc, because documentation precedes coding. I would
assume you do ad hoc development like most 20 somethings, coding on the
fly when you get an idea, no formal definitions, no flow charting, no
pseudo code, etc. Correct? If so this is 99% of the reason the
documentation suffers, and this is typical of today's crop of young
developers, unfortunately.
Because it significantly increases development times, and when you're
basically doing everything yourself there's nobody else reading those
anyway.

The more complex a feature is, the more I think about it, do pseudo code
and testing. For example the redesigned dsync in v2.2 required months of
thinking, pseudo coding and testing. Few features in Dovecot are that
complex though. Mostly coding is the easy part, while figuring out how
the configuration should be done is the difficult part.

Anyway, the plan is to hire more Dovecot developers and the development
process is likely to change then. But now? I'm way too busy implementing
things that were supposed to be finished half a year ago.
Post by Stan Hoeppner
A few things could improve the current docs in a major way.
1. Create man(ual) documentation, preferably with
2. A man page like postconf (5) which contains every single
Dovecot configuration parameter and text explaining it
3. This man page published online
4. Publish sample conf file(s) online
5. Make these things accessible from the main Dovecot page,
not buried down in the index hierarchy
So basically you're saying that the major documentation improvement = an
index listing/describing all settings. Sure, would be useful, but I
don't see having time to write that anytime soon.
Timo Sirainen
2013-03-18 16:57:34 UTC
Permalink
Post by Timo Sirainen
Post by Stan Hoeppner
I don't know who "they" is. Wietse writes all the Postfix documentation
himself. It comes naturally when one performs formal software
development, not ad hoc, because documentation precedes coding. I would
assume you do ad hoc development like most 20 somethings, coding on the
fly when you get an idea, no formal definitions, no flow charting, no
pseudo code, etc. Correct? If so this is 99% of the reason the
documentation suffers, and this is typical of today's crop of young
developers, unfortunately.
Because it significantly increases development times, and when you're
basically doing everything yourself there's nobody else reading those
anyway.
Or actually for the larger changes I do write design docs and usually
send them to this mailing list, e.g.:

http://www.dovecot.org/list/dovecot/2012-February/064114.html
http://www.dovecot.org/list/dovecot/2012-February/063665.html
http://www.dovecot.org/list/dovecot/2010-November/055196.html
http://www.dovecot.org/list/dovecot/2010-July/050832.html
http://www.dovecot.org/list/dovecot/2010-January/046148.html

So it's not all ad hoc..
Michael Grimm
2013-03-18 21:20:50 UTC
Permalink
Post by Timo Sirainen
Because it significantly increases development times, and when you're
basically doing everything yourself there's nobody else reading those
anyway.
From my point of view: do continue the very same way every since writing
your first code regarding dovecot! I don't see that skilled admins
won't be able to config dovecot with all that available information
accessible by skilled admins. I honestly couldn't care less regarding
all those unskilled admins, though.
Post by Timo Sirainen
The more complex a feature is, the more I think about it, do pseudo code
and testing. For example the redesigned dsync in v2.2 required months of
thinking, pseudo coding and testing.
From my point of view: no need for "excuses"! And, coming back to dovecot's
documentation: it can't be that worse because dovecot is running at quite
some numerous sites ;-)

From my point of view: just continue to push dovecot the way you did and do,
please, don't become distracted by discussions like that one, sigh.

With kind regards,
Michael
Stan Hoeppner
2013-03-19 04:15:56 UTC
Permalink
Post by Timo Sirainen
So basically you're saying that the major documentation improvement = an
index listing/describing all settings. Sure, would be useful, but I
don't see having time to write that anytime soon.
The time issue is perfectly understandable Timo.

My suggestion may not be the gold or platinum improvement to the docs,
but I think it would help a lot of people, especially since most using
Dovecot are also using Postfix, and since man is the standard UNIX
documentation format/interface. I think some similarity/consistency
would help quite a bit as many people are so used to this format.

Do you have a way to simply dump all the current conf file parameter
names from 2.x into a single column text file? I'll sort it and start
adding the legal parameter values and writing the parameter definitions
from information currently available in source and wiki pages. When I
hit the point I can't find reference material for the rest of the
parameters, we can dump it to a wiki page or similar so others with the
knowledge can jump in and help finish it. Once it's done, myself, or
someone else if they already have the experience, can create the man
page from this to be included in the source. And you can create an
update mechanism/batch process so that updating the 'master' document
automatically updates the source man page and other published versions,
making documentation updates simple when you add/change parameters.

We could do the wiki bazaar style editing from the beginning, but I'd
rather not. I'd like to get it started with a framework/layout and
style of prose typical of UNIX documentation, for other editors to
follow. The definition text prose needs to be consistent all the way
through, or readers may be confused by the different writing styles of
~50 different people who may speak different 'dialects' of English or
have different writing styles. This consistency is one of the hallmarks
of good technical writing.

Like I said previously, the one thing I'm able to contribute more than
anything at this point is time. And my writing skills aren't completely
horrible--I have been published, FWIW, but not recently. But my
knowledge of the parameters, and a lot of Dovecot features in general is
lacking. So if others are willing to contribute where I fall short, I'd
be glad to give this a go and get it started, and hopefully put a decent
sized dent in it so there's not so much left for others to do.
Obviously you have final review/edit authority, and if you have a
particular preference on writing style, etc, I'll certainly honor that.

If this is acceptable to you Timo, let me know. If so send me the
aforementioned file, any preferences/thoughts you have, and I'll get
started on the first draft.
--
Stan
Joseba Torre
2013-03-19 12:36:53 UTC
Permalink
Post by Stan Hoeppner
Post by Timo Sirainen
So basically you're saying that the major documentation improvement = an
index listing/describing all settings. Sure, would be useful, but I
don't see having time to write that anytime soon.
The time issue is perfectly understandable Timo.
My suggestion may not be the gold or platinum improvement to the docs,
but I think it would help a lot of people, especially since most using
Dovecot are also using Postfix, and since man is the standard UNIX
documentation format/interface. I think some similarity/consistency
would help quite a bit as many people are so used to this format.
Do you have a way to simply dump all the current conf file parameter
names from 2.x into a single column text file? I'll sort it and start
adding the legal parameter values and writing the parameter definitions
from information currently available in source and wiki pages. When I
hit the point I can't find reference material for the rest of the
parameters, we can dump it to a wiki page or similar so others with the
knowledge can jump in and help finish it. Once it's done, myself, or
someone else if they already have the experience, can create the man
page from this to be included in the source. And you can create an
update mechanism/batch process so that updating the 'master' document
automatically updates the source man page and other published versions,
making documentation updates simple when you add/change parameters.
We could do the wiki bazaar style editing from the beginning, but I'd
rather not. I'd like to get it started with a framework/layout and
style of prose typical of UNIX documentation, for other editors to
follow. The definition text prose needs to be consistent all the way
through, or readers may be confused by the different writing styles of
~50 different people who may speak different 'dialects' of English or
have different writing styles. This consistency is one of the hallmarks
of good technical writing.
Like I said previously, the one thing I'm able to contribute more than
anything at this point is time. And my writing skills aren't completely
horrible--I have been published, FWIW, but not recently. But my
knowledge of the parameters, and a lot of Dovecot features in general is
lacking. So if others are willing to contribute where I fall short, I'd
be glad to give this a go and get it started, and hopefully put a decent
sized dent in it so there's not so much left for others to do.
Obviously you have final review/edit authority, and if you have a
particular preference on writing style, etc, I'll certainly honor that.
If this is acceptable to you Timo, let me know. If so send me the
aforementioned file, any preferences/thoughts you have, and I'll get
started on the first draft.
Definitely, something like man 5 postconf would be really useful. I
would like to collaborate with that, but I think that my English writing
skill are not good enough.
Jerry
2013-03-19 14:20:55 UTC
Permalink
On Tue, 19 Mar 2013 13:36:53 +0100
Joseba Torre articulated:

{snip}
Post by Joseba Torre
Definitely, something like man 5 postconf would be really useful. I
would like to collaborate with that, but I think that my English
writing skill are not good enough.
I would be willing to assist in a project like that. If we could get a
few knowledgeable people -- including Timo -- I think it would be a
truly worthwhile project.
--
Jerry ?

Disclaimer: off-list followups get on-list replies or get ignored.
Please do not ignore the Reply-To header.
__________________________________________________________________
Simon Brereton
2013-03-19 14:25:23 UTC
Permalink
Post by Jerry
On Tue, 19 Mar 2013 13:36:53 +0100
{snip}
Post by Joseba Torre
Definitely, something like man 5 postconf would be really useful. I
would like to collaborate with that, but I think that my English
writing skill are not good enough.
I would be willing to assist in a project like that. If we could get a
few knowledgeable people -- including Timo -- I think it would be a
truly worthwhile project.
I can't code, but I can proof-read/write. And if *I* understand the
instructions/config examples you have winning documentation - the
ultimate dummy test, so to speak. So, this could be my opportunity to
contribute to FOSS.

Simon
Timo Sirainen
2013-03-19 17:25:20 UTC
Permalink
Post by Stan Hoeppner
Do you have a way to simply dump all the current conf file parameter
names from 2.x into a single column text file?
With "doveconf -d" you get all the settings and also the defaults. The
docs probably should mention the defaults also.
Post by Stan Hoeppner
I'll sort it and start
adding the legal parameter values and writing the parameter definitions
from information currently available in source and wiki pages. When I
hit the point I can't find reference material for the rest of the
parameters, we can dump it to a wiki page or similar so others with the
knowledge can jump in and help finish it. Once it's done, myself, or
someone else if they already have the experience, can create the man
page from this to be included in the source. And you can create an
update mechanism/batch process so that updating the 'master' document
automatically updates the source man page and other published versions,
making documentation updates simple when you add/change parameters.
Yes, definitely something that generates all the docs from a single
source. There is of course still going to be some duplication with a)
example config files and b) the more context-specific wiki pages.

I guess once that reference doc is done, the example config could be put
to web with all the settings as links to the reference.

I think the reference should also have pointers to the more generic wiki
pages about the subject, such as ssl_* settings having a pointer to the
"SSL" wiki page. That pointer could be a generic small icon in the
HTML/wiki version, not sure about the man version.
Post by Stan Hoeppner
If this is acceptable to you Timo, let me know. If so send me the
aforementioned file, any preferences/thoughts you have, and I'll get
started on the first draft.
OK.

Ajax
2013-03-18 16:38:45 UTC
Permalink
On Mon, Mar 18, 2013 at 11:33 AM, Stan Hoeppner <stan at hardwarefreak.com>
Post by Stan Hoeppner
A few things could improve the current docs in a major way.
FWIW I've found the exemplary postconf(1) almost indispensable both
for exploring the Postfix configuration and for applying impromptu
changes.
Charles Marcus
2013-03-18 18:59:44 UTC
Permalink
Post by Ajax
FWIW I've found the exemplary postconf(1) almost indispensable both
for exploring the Postfix configuration and for applying impromptu
changes.
I think most everyone would agree that postfix is in a class by itself
when it comes to code quality and documentation...
Charles Marcus
2013-03-18 18:58:26 UTC
Permalink
I was going to just bite my tongue, but couldn't let this go...
Post by Stan Hoeppner
Post by Timo Sirainen
It's the best I can do myself. I have no idea how they could be improved in any major way. They say that the software developer himself is the worst possible person to write its documentation, because he can't understand what others find difficult..
I don't know who "they" is.
I think it was pretty obvious that he meant 'the documentation'... talk
about being a smart ass.
Post by Stan Hoeppner
Wietse writes all the Postfix documentation himself. It comes naturally when one performs formal software development, not ad hoc, because documentation precedes coding.
<snip>

Really nice Stan. You just proved the old axiom of what happens when you
'ass-u-me'.

Writing good docs may come easy to some people (I can't speak for Wietse
as to whether or not this is true for him), but I'd argue that it may
not be as easy as you seem to think.

Too bad the rest of your decent suggestions got clobbered by the
condescending attitude. And I wonder how much time you have spent
helping Timo get the documentation in order...
Stan Hoeppner
2013-03-17 19:36:17 UTC
Permalink
Post by Charles Marcus
Post by Stan Hoeppner
Post by Professa Dementia
And just a friendly word of advice: change your attitude or you will
find your cries fall on deaf ears.
Back at ya Stan. Normally you are pretty level-headed, and some of your
posts regarding details of enterprise hardware are extremely
informative, personally I think this post is way beneath you.
Follow the threading Charles. The comment above belongs to Dementia,
not me.
Post by Charles Marcus
Post by Stan Hoeppner
The OP's attitude is fine. It is yours that is the problem. Dissent
and critique should be cherished, not attacked. We're not a bunch of
little Fascists walking in lock step under de Fuhrer Timo, so stop
acting like one.
Dissent is ok to a point, as long as it is done politely and without
unnecessary flaming, and includes some minimal amount of reasonable
argument.
The only flaming here was done by Dementia. Note that Daniel stated in
his complaint: "in my utmost respectful opinion"
Post by Charles Marcus
Flame-baiting (ie making false claims that dovecot is 'crappy software
with lackluster or ), on the other hand, is absolutely *not* ok, and
imnsho, this is all the OP - and you - were engaging in.
You perceived an attack and picked up sword and shield to defend Dovecot
and Timo. Unfortunately your adrenaline got the best of you. Neither
Daniel nor I engaged in flame baiting. You would do well to drop the
sword and shield and re-read both of our posts dispassionately.

I did not call Dovecot crappy software as you accuse me of here. If
that were my opinion I certainly would not be using it and I wouldn't be
participating on this mailing list. Dementia made the case that users
are responsible for fixing anything they don't like about open source
software, suggesting it's ok to publish crappy software and make it the
users' responsibility to fix it.
Post by Charles Marcus
When it boils down to a simple question of personal preference (ie the
'split config' issue), by all means, provide *constructive* criticism
(ie, make your argument against making the split config the default) -
We both did.
Post by Charles Marcus
but just name-calling and outright false-isms is *not* OK, and I for one
would appreciate it if you'd re-think your comments.
Neither of us engaged in name calling nor made false claims. We did
both express frustration. And yes I did use the word stupid. And Linus
told nVidia "Fuck you!" on camera. I'd say "stupid" is very tame,
blunt, and to the point. Anyone who is so thin skinned as to take
offense to "stupid" isn't tough enough to participate on the interwebs.
Post by Charles Marcus
Personally, I think both of you owe Timo an apology.
Personally I would prefer you let the air out of your chest Charles,
drop the sword and the shield, and re-read the email exchange
dispassionately. ;) I think you know me well enough through our
extensive interaction that I would not make ad hominem attacks or make
baseless accusation against Dovecot or Timo.

I think Timo's skin is sufficiently thick to take a little criticism and
not lose sleep over it. Apologies are for personal attacks. I made no
personal attacks.
--
Stan
Larry Stone
2013-03-17 20:12:31 UTC
Permalink
All of this said (and much of it not worth repeating), one problem that seems to affect all software as it grows is that as documentation is "patched" to describe new features, it becomes too complex for the new user who just wants to do something simple to figure how to do that simple stuff. For the user who has been along for the long ride since the software started, it makes sense but the new user is overwhelmed. Rewriting documentation is no easy task but it can help for someone to take a look at it the way a new user might who knows nothing about the software.

I don't know the history of Dovecot but my guess would be the Dovecot LDA was added after the Dovecot POP/IMAP server component. Why? Because the www.dovecot.org Overview says "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems" without any mention of the Dovecot LDA anywhere on that front page. Longtime users know about the Dovecot LDA but they rarely read that first page and it's harder to notice something is missing than it is to notice something is wrong.

I recently replaced UW-IMAP with Dovecot. Once I set down to do it, it was fairly easy. But getting there was tough thanks to misinformation including a failed attempt a few years back using a package that tried to do too much (including forcing a conversion to Maildir - it may be the preferred way and it might be a good goal to get there but why force it when Dovecot was perfectly content to work with the existing mbox mailboxes).

Coupled with that is the problem of people who like to give complex answers to simple questions. A poster wants to know how to do A and gets an answer that instead of doing A (which would require a simple configuration change), they're better off doing B which requires new software and/or a complicated conversion (I was just reading something in an archive where someone asked about locking of mbox files and instead of answering the question about how to configure that was told they're better off using Maildir. Perhaps true in the long run but a config change takes a few seconds; converting to Maildir can be a multi-hour or day project). Giving complex answers to simple questions creates the impression that the Dovecot is far more complex than it needs to be.
--
Larry Stone
lstone19 at stonejongleux.com
http://www.stonejongleux.com/
Robert Schetterer
2013-03-17 21:50:38 UTC
Permalink
Post by Larry Stone
Giving complex answers to simple questions creates the impression that the Dovecot is far more complex than it needs to be.
"mail" isnt simple in general,
if you wanna help getting better or more easy documentation at whatever
feel free to write it, your welcome

Actions speak louder than words.

Best Regards
MfG Robert Schetterer
--
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64
Franziskanerstra?e 15, 81669 M?nchen

Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263
Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer
Aufsichtsratsvorsitzender: Joerg Heidrich
Larry Stone
2013-03-18 00:02:53 UTC
Permalink
Post by Robert Schetterer
Post by Larry Stone
Giving complex answers to simple questions creates the impression that the Dovecot is far more complex than it needs to be.
"mail" isnt simple in general,
True. But your needs aren't my needs. And while some systems may need a complex solution, not every one does.

My mail server is at home serving four users, all family members. Daily mail volume is in the hundreds. Have I incorporated every high-performance trick I can? Heck, no because I don't need it. My server sits idle most of the day. It would be a waste of my time to optimize it. To the extent I have a bottle-neck, it's the Internet connection (not all that fast but fast enough).

So for now I keep it simple. Can I do something more complex later? Maybe. If I have time, if I think it's worthwhile. Meanwhile, I would never go suggesting that the server environment I have with my four users and hundreds of messages per day is appropriate for an environment with thousands of users and millions of messages per day.
--
Larry Stone
lstone19 at stonejongleux.com
http://www.stonejongleux.com/
Robert Schetterer
2013-03-18 08:03:17 UTC
Permalink
Post by Larry Stone
Post by Robert Schetterer
Post by Larry Stone
Giving complex answers to simple questions creates the impression that the Dovecot is far more complex than it needs to be.
"mail" isnt simple in general,
True. But your needs aren't my needs. And while some systems may need a complex solution, not every one does.
My mail server is at home serving four users, all family members. Daily mail volume is in the hundreds. Have I incorporated every high-performance trick I can? Heck, no because I don't need it. My server sits idle most of the day. It would be a waste of my time to optimize it. To the extent I have a bottle-neck, it's the Internet connection (not all that fast but fast enough).
So for now I keep it simple. Can I do something more complex later? Maybe. If I have time, if I think it's worthwhile. Meanwhile, I would never go suggesting that the server environment I have with my four users and hundreds of messages per day is appropriate for an environment with thousands of users and millions of messages per day.
Larry , this isnt a whatever software related question, it a questions
of what default first setup settings are choosen, to make things work quick.

There maybe tons of meanings about that, you will never find the
ultimate answer to that, its a more or less senseless disput.

I.e good example using default chroot for postfix in debian ( which
gives newbies a hard time at first configure), so at last the orginal
hacker of code has less to to do what linux distro releases use as
default settings.

And however your are using only small setup you have to understand and
learn the whole "mail" procedures ,to some "minimum stage", cause i.e
you are able to send trillions of spam mails configure an open relay etc
which may hurt lots of other users worldwide.

Open software mostly does not focus on promising you an easy live
with i.e clicking on guis and wizards as most comercial products,
it gives you the chance to learn about how things are working, and
invites you making things better which you may find could be made better.
Share what you have found and do constructive questions etc.
Its not only a tec question, its a way of social knowledge sharing.

Dovecot itself may run in very different "modes", what should
the choosen as prime default easy mode, compare i.e with samba
and modes acting as member server or printer spooler and so on.
Samba parameters are filling books, same in postfix etc, and there is
intensive coding work at all this stuff, solving users real live
problems always end in complex stuff, by needs which you and the orig
coder never thinked of as starting time of the project.

So again, if you find something bad , youre able to make things better
investing time and work on it, dont waste time in "bark at the moon".
.




Best Regards
MfG Robert Schetterer
--
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64
Franziskanerstra?e 15, 81669 M?nchen

Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263
Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer
Aufsichtsratsvorsitzender: Joerg Heidrich
David Benfell
2013-03-17 22:10:40 UTC
Permalink
Post by Stan Hoeppner
We are very sorry you are not satisfied with the software. Please
feel free to return the software for a full refund of all the
money you paid.
This is a formulaic response.
Post by Stan Hoeppner
You do not speak on behalf of Dovecot, Timo, this list, and
certainly not for me. Do not use "we" in this manner. And
there's no reason to be a smart ass.
Right.
Post by Stan Hoeppner
Welcome to the world of open source. Software is provided
through the generous contributions of many people, all of whom
have regular jobs and do this because they enjoy it. With open
source, if there is something you do not like, you can change
the software to your liking. Try that with proprietary
software.
More formulaic response.
Post by Stan Hoeppner
The OP is fully familiar with the open source model. Being open
source and developed by volunteer effort is NEVER an excuse for
crappy software or documentation. The OP has every right, and
*duty* to voice his opinion, whether it be praise or critique.
Without critique software doesn't get improved.
I don't know if the "[original poster] is fully familiar with the open
source model" or not, but I would save the rest of this response as a
gem. The formulaic response, which I have seen again and again in the
over ten years I've been working with open source software, really
assumes that all users are programmers--or should be programmers--and
are responsible for submitting fixes when something is wrong.

Because what it really says is, if you don't like it, fix it yourself.
Too many times, I've heard this referred to as "freedom." And like
some other notions of freedom advanced in our society, it is only
freedom for a limited class of people.

There are lots of these kinds of assumptions throughout our society.
But the fact is that not all of our talents align in the same
directions. That's why we have specialization of labor.

The next logical step in this assumption is that a dissatisfied user
should, having become a programmer, fork the project, maintain and
develop that fork, and integrate it at least with whatever
distribution/variety of UNIX-like operating system s/he is using. Not
all of us have time to do this. Again, that's why we have
specialization of labor.

<snip>
Post by Stan Hoeppner
The OP's attitude is fine. It is yours that is the problem.
Dissent and critique should be cherished, not attacked. We're not
a bunch of little Fascists walking in lock step under de Fuhrer
Timo, so stop acting like one.
More words to treasure. (Not that Timo envisions himself any kind of
Fuehrer.) This reaches to a certain deification of certain individuals
and organizations in the community--whether they themselves would be
deified or not; I know examples of both--that really ought to be
looked at more critically.
Professa Dementia
2013-03-18 01:08:00 UTC
Permalink
Post by David Benfell
I don't know if the "[original poster] is fully familiar with the open
source model" or not, but I would save the rest of this response as a
gem. The formulaic response, which I have seen again and again in the
over ten years I've been working with open source software, really
assumes that all users are programmers--or should be programmers--and
are responsible for submitting fixes when something is wrong.
Because what it really says is, if you don't like it, fix it yourself.
Too many times, I've heard this referred to as "freedom." And like
some other notions of freedom advanced in our society, it is only
freedom for a limited class of people.
Imagine this:

You live near a mechanic. He has an extra car that he got from the junk
yard and fixed up. It works fairly well and you need a car so he
generously gives it to you for free. After a time, something breaks.
What do you do?

If you are mechanically inclined you can fix it yourself - that is, if
you are part of that limited class of people known as mechanics.

If not, you can go back to the original mechanic or maybe a completely
different mechanic. However, if you scream at him, call him names, tell
him the car is total garbage that was never fixed right in the first
place, then demand he fix it, how do you think he would respond?

It is much better to ask politely.

Everything you say above is perfectly valid. However, I have been part
of quite a few open source projects and this list has much more than its
share of trolls and flame wars. Why is that? A little civility goes a
long way, especially if you are not part of the "limited class of
people" and are asking for their help with something that you were given
for free to begin with.


Dem
David Benfell
2013-03-18 04:30:06 UTC
Permalink
Post by Professa Dementia
If not, you can go back to the original mechanic or maybe a
completely different mechanic. However, if you scream at him,
call him names, tell him the car is total garbage that was never
fixed right in the first place, then demand he fix it, how do you
think he would respond?
It is much better to ask politely.
As I was looking for the response that I wanted to reply to, I noticed
there had in fact been quite a number of messages as the original
poster had attempted to resolve his problem.

Yes, he got frustrated. Yes, he lost his temper. But this summation
takes a short cut in ignoring all that happened before. It also
ignores--and if I read (and remember) Timo correctly, he doesn't like
this either--that all too often, error messages are too vague to be
helpful.

The standard response is also borne of frustration--a frustration that
seemingly expects people to worship the ground that developers walk on.

So what we have here is frustration meeting frustration. It pushes my
buttons because I've been watching this in a number of venues for
years and I've occasionally been that frustrated user who couldn't get
something working.

One of the things I came across in studying indigenous ways of knowing
that may be applicable here is a caution against displaying knowledge.
The point of that is that some people answer not so much to be helpful
as to show off their own prowess and expertise. That gets ego
involved. The standard response follows from this, making the
situation worse by conveying an arrogance that undermines any claim to
have been sincerely helpful before.

We all want good software. That requires more of a partnership than we
often see.
Noel Butler
2013-03-18 05:24:33 UTC
Permalink
Post by David Benfell
The standard response is also borne of frustration--a frustration that
seemingly expects people to worship the ground that developers walk on.
One thing that shows a good developer, is one who listens, to the
negatives as well as positives, Timo thus far has mostly done this
(still waiting on the mysql failover change talked about nearly 2 yrs
ago ;) ).

A good developer knows that without users feedback, both good and bad,
their project can die a swift and painful death.
Post by David Benfell
We all want good software. That requires more of a partnership than we
often see.
True
-------------- next part --------------
A non-text attachment was scrubbed...
Name: face-wink.png
Type: image/png
Size: 876 bytes
Desc: not available
URL: <Loading Image...>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130318/8169fa2f/attachment.bin>
Stan Hoeppner
2013-03-18 12:42:25 UTC
Permalink
Post by David Benfell
More words to treasure. (Not that Timo envisions himself any kind of
Fuehrer.) This reaches to a certain deification of certain individuals
and organizations in the community--whether they themselves would be
deified or not; I know examples of both--that really ought to be
looked at more critically.
To be crystal clear, since some people tend to take things out of
context, I am in no way likening Timo to Adolf Hitler for Pete's sake.
Anyone who could perceive such has personal issues to work out. This
was quickest analogy I could come up with to describe the situation, as
it seemed anyone criticizing "the party" or it's "leader" was being
treated as "the enemy", which is indeed what the Nazi party did to
dissenters. It ties in well with my "sword and shield" comment, and the
"militarization" of some users in response to a perceived "attack" in
this thread.

It's actually quite silly how this thread devolved so quickly simply
because two users expressed frustration with the software and
documentation. I'd expect something like this on a political forum, but
not a technical mailing list.
--
Stan
Noel Butler
2013-03-17 23:48:27 UTC
Permalink
Post by Stan Hoeppner
Post by Professa Dementia
We are very sorry you are not satisfied with the software. Please feel
free to return the software for a full refund of all the money you paid.
You do not speak on behalf of Dovecot, Timo, this list, and certainly
not for me. Do not use "we" in this manner. And there's no reason to
be a smart ass.
I never ever in my wildest dreams thought I'd be saying this, but I
wholeheartedly agree with Stan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130318/60b1bf3b/attachment.bin>
Noel Butler
2013-03-17 23:47:47 UTC
Permalink
Post by Professa Dementia
And just a friendly word of advice: change your attitude or you will
find your cries fall on deaf ears.
Dem
and that shit is helpful how?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130318/59d0fbd5/attachment.bin>
Noel Butler
2013-03-17 23:45:54 UTC
Permalink
Post by Daniel Reinhardt
I really find the lack of error logging, and the virtual lack of
documentation for Dovecot very disturbing. I am so close to dropping this
side project of being able to support multiple domains on a mail server.
I know I came in late having been away for a bit, but I did not note any
reference to this guide you mentioned you used, perhaps
show us a URL for it, maybe it is borked, and you'll chase your tail
forever...
Post by Daniel Reinhardt
It is in my utmost respectful opinion to have multiple files to edit just
to get this working in basic mode. Why cant dovecot combine all
configuration parameters into one config like that of postfix main.cf for
server config, and the master.cf for sockets and listeners?
It used to, I strongly disagreed with the conf.d/blah blah blah
splitting, its messy, cluttery, clumsy, and not time-management
efficient, but, Timo's choice to do it.

I use one single file, its about or less than 4K in size, and you can
too, simple copy any million changes of other cruddy confs into
dovecot.conf and comment out any includes, even delete them.

The only separate file I have, is dovecot-sql.conf
Post by Daniel Reinhardt
Dovecot has given me nothing but headache and grief, and as far as I am
concerned not a finished product.
it runs on some pretty big networks, handling millions of users, granted
2.x was, well, I always considered 2.0 to be beta, and 2.1 up until
recently, it is not a good sign when there is patches every second other
week, but, its been really good for a few months now,
sad I know, 1.2 was like a tank, couldn't break it no mater what you
through at it, infact I still have two servers using 1.2 as a fail safe.

But, that said, you need to show us this guide you have followed, if you
posted it, my bad for not seeing it, if not, your bad for not linking to
it ;)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: face-wink.png
Type: image/png
Size: 876 bytes
Desc: not available
URL: <Loading Image...>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130318/e7cbea02/attachment.bin>
Charles Marcus
2013-03-14 11:26:30 UTC
Permalink
Where to begin...

1. Daniel, when Mourik told you to reply back to the list, they meant
that if they send a reply to the list, then you reply to that, send that
reply to the list, not to the person who replied.

Meaning, all replies should go to the list (unless they are merely
personal commentary).

Mourik replied to you on the list. You sent your reply back only to him.

You should have replied keeping the thread on the list.

Fyi, dovecot list does not do reply-to-munging - meaning, if you only
click the 'Reply' button in your email program, it will only reply to
the original sender.

Use the 'Reply-to-list' button (if you have one - ), or click
'Reply-to-all' button and remove the original senders address before
sending...

2. Why do you have postfix logging in verbose mode?!

Turn that off and repost logs. On the postfix list, you will be told the
same thing - normal postfix logging is sufficient for troubleshooting
99.9% of all problems you may run into. Enabling verbose logging only
makes things vastly more difficult, hiding the actual problem among all
the other noise.

3. Why did you post postconf -d output? Just like dovecot, that only
shows you the *defaults*. We need to see the actual config you are using.

So, please post output of postconf -n

That will be enough to show you how to fix your problems.

And Mouriks comment was right on point... you probably have to *enable*
the dovecot LDA in main.cf. Just having it in master.cf isn't enough,
you have to actually turn it on in main.cf, and postconf -n output
should show you it is being used.

If you are still having problems after doing all of this, come back and
post non-verbose logs exhibiting your problem, and postconf -n output.
If you still have a postfix problem, you will likely be directed to the
postfix list to pursue further troubleshooting, but a lot of people on
this list also use postfix and will likely be able to help you fix the
problem if you provide enough of the right information.

Charles
Post by Daniel Reinhardt
All,
Thank you for having this list, and I have a question regarding why postfix
is not handing off delivery to Dovecot to virtual users.
*Here is the debug information for my postfix setup:*
<snip> irrelevant verbose logging and postconf -d output
Post by Daniel Reinhardt
*Here is the output of my dovecot -n:*
[code]
root at andromeda:/etc/postfix# dovecot -n
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-38-generic-pae i686 Ubuntu 12.04.2 LTS ext4
disable_plaintext_auth = no
first_valid_uid = 150
last_valid_uid = 150
mail_gid = mail
mail_location = mbox:/var/vmail/%d/%n
mail_uid = vmail
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
}
postmaster_address = postmaster at cryptodan.net
protocols = imap pop3 sieve
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = mail
mode = 01224
user = vmail
}
}
ssl_ca = </etc/ssl/certs/ca-certificates.crt
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_cipher_list =
ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol imap {
imap_client_workarounds = tb-extra-mailbox-sep
mail_max_userip_connections = 10
}
protocol pop3 {
mail_max_userip_connections = 10
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
deliver_log_format = msgid=%m: %$
mail_plugins = sieve
postmaster_address = postmaster
quota_full_tempfail = yes
rejection_reason = Your message to <%t> was automatically rejected:%n%r
}
[/code]
I hope I provided enough information.
Well at least you posted dovecot -n output.
--
Best regards,

Charles
Noel Butler
2013-03-16 09:46:56 UTC
Permalink
Post by Charles Marcus
Fyi, dovecot list does not do reply-to-munging - meaning, if you only
click the 'Reply' button in your email program, it will only reply to
the original sender.
That's almost, but not entirely true.

If you log in to mailman via web interface, you can set reply-to-list,
which by default, is off.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://dovecot.org/pipermail/dovecot/attachments/20130316/c9b28aca/attachment.bin>
Loading...