Hi there. I trying to make work posfix to recibe mail, but it's not work. I'm on: openSUSE 20150612 Tumbleweed ISPConfig-3.0.5.4p8. postfix-2.11.5-2.1 dovecot-2.2-3.2 amavis is working and I can send mails without problems. Maill log: Code: jun 22 17:33:52 vps postfix/smtpd[9416]: connect from unknown[127.0.0.1] jun 22 17:33:52 vps postfix/smtpd[9416]: 972A7408D6: client=unknown[127.0.0.1] jun 22 17:33:52 vps postfix/cleanup[9593]: 972A7408D6: message-id=<[email protected]om> jun 22 17:33:52 vps postfix/qmgr[7816]: 972A7408D6: from=<[email protected]>, size=2132, nrcpt=1 (queue active) jun 22 17:33:52 vps postfix/qmgr[7816]: warning: connect to transport private/dovecot: No such file or directory jun 22 17:33:52 vps postfix/smtp[9594]: E75EB408C5: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.7, delays=0.25/0.01/0.01/0.44, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 972A7408D6) jun 22 17:33:52 vps postfix/qmgr[7816]: E75EB408C5: removed jun 22 17:33:52 vps postfix/error[9598]: 972A7408D6: to=<[email protected]>, relay=none, delay=0.03, delays=0.01/0.01/0/0.01, dsn=4.3.0, status=deferred (mail transport unavailable) jun 22 17:35:02 vps postfix/smtpd[9584]: connect from localhost[127.0.0.1] jun 22 17:35:02 vps postfix/smtpd[9584]: lost connection after CONNECT from localhost[127.0.0.1] jun 22 17:35:02 vps postfix/smtpd[9584]: disconnect from localhost[127.0.0.1] Amavis log: Code: Jun 22 17:33:52 vps amavis[9582]: (09582-01) Passed CLEAN {RelayedInbound}, [209.85.213.54]:33815 [209.85.213.54] <[email protected]> -> <[email protected]>, Queue-ID: E75EB408C5, Message-ID: <[email protected]om>, mail_id: 48Gj3kpbXWLO, Hits: -0.098, size: 1702, queued_as: 972A7408D6, 439 ms postconf -n Code: alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases biff = no body_checks = regexp:/etc/postfix/body_checks broken_sasl_auth_clients = yes canonical_maps = command_directory = /usr/sbin config_directory = /etc/postfix content_filter = amavis:[127.0.0.1]:10024 daemon_directory = /usr/lib/postfix data_directory = /var/lib/postfix debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 defer_transports = delay_warning_time = 0h disable_dns_lookups = no disable_mime_output_conversion = no disable_vrfy_command = yes header_checks = regexp:/etc/postfix/header_checks html_directory = /usr/share/doc/packages/postfix-doc/html inet_interfaces = all inet_protocols = ipv4 mail_owner = postfix mail_spool_directory = /var/mail mailbox_command = mailbox_size_limit = 0 mailbox_transport = mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man masquerade_classes = envelope_sender, header_sender, header_recipient masquerade_domains = masquerade_exceptions = message_size_limit = 0 message_strip_characters = mime_header_checks = regexp:/etc/postfix/mime_header_checks mydestination = vps.proteoerp.org, localhost, localhost.localdomain myhostname = vps.proteoerp.org mynetworks = 127.0.0.0/8 [::1]/128 mynetworks_style = subnet nested_header_checks = regexp:/etc/postfix/nested_header_checks newaliases_path = /usr/bin/newaliases 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 queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix-doc/README_FILES receive_override_options = no_address_mappings relay_clientcerts = relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf relayhost = relocated_maps = sample_directory = /usr/share/doc/packages/postfix-doc/samples sender_canonical_maps = sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_enforce_tls = no smtp_sasl_auth_enable = no smtp_sasl_password_maps = smtp_sasl_security_options = smtp_tls_CAfile = smtp_tls_CApath = smtp_tls_cert_file = smtp_tls_key_file = smtp_tls_protocols = !SSLv2,!SSLv3 smtp_tls_security_level = may smtp_tls_session_cache_database = smtp_use_tls = no smtpd_banner = $myhostname ESMTP smtpd_client_message_rate_limit = 100 smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf smtpd_delay_reject = yes smtpd_helo_required = yes smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_path = private/auth smtpd_sasl_type = dovecot smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf smtpd_tls_CAfile = smtpd_tls_CApath = smtpd_tls_ask_ccert = no smtpd_tls_cert_file = /etc/postfix/smtpd.cert smtpd_tls_key_file = /etc/postfix/smtpd.key smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_protocols = !SSLv2,!SSLv3 smtpd_tls_received_header = no smtpd_tls_security_level = may smtpd_use_tls = yes strict_8bitmime = no strict_rfc821_envelopes = no transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:/etc/postfix/mysql-virtual_transports.cf unknown_local_recipient_reject_code = 550 virtual_alias_domains = virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf virtual_gid_maps = static:5000 virtual_mailbox_base = /var/vmail virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf virtual_transport = dovecot virtual_uid_maps = static:5000 postconf: warning: /etc/postfix/main.cf: unused parameter: maildrop_destination_concurrency_limit=1 postconf: warning: /etc/postfix/main.cf: unused parameter: maildrop_destination_recipient_limit=1 postconf: warning: /etc/postfix/main.cf: unused parameter: dovecot_destination_recipient_limit=1 master.cf Code: # smtp inet n - n - - smtpd pickup unix n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - n 1000? 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - n - - smtp relay unix - - n - - smtp showq unix n - n - - showq error unix - - n - - error retry unix - - n - - error discard unix - - n - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil scache unix - - n - 1 scache ${recipient} ${user} ${nexthop} ${sender} ${extension} ${recipient} ${user} ${nexthop} ${sender} ${extension} ${recipient} ${user} ${nexthop} ${sender} amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks Any suggestions? Regards Andres
Your master.cf seems to not have the dovecot setup properly. Should have something similar to: Code: dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop} instead of ${recipient} ${user} ${nethop} ${sender} ${extension} $(recipient) ${user} etc etc
Thanks!, that solve my problems and it's working now Maybe there is a problem in ISPConfig installer in "opensuse.lib.php" file at this lines: PHP: if(!stristr($content, "dovecot/deliver")) { $deliver_content = 'dovecot unix - n n - - pipe'."\n".' flags=DROhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}'; af($conf["postfix"]["config_dir"].'/master.cf', $deliver_content); } If in the master.cf there are the config lines but commented (OpenSuSE case) the condition "!stristr($content, "dovecot/deliver")" won't work, this proposal will work in this conditions: PHP: if(!preg_match('/\n[^#]*dovecot\/deliver/', $content)) { $deliver_content = 'dovecot unix - n n - - pipe'."\n".' flags=DROhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}'; af($conf["postfix"]["config_dir"].'/master.cf', $deliver_content); } Thank you very much!
It seems, that the installer for opensuse doesn´t work as expected. I will check this. Can you post the lda-part from your dovecot.conf?
In OpenSuSE the dovecot.conf file is all lines commented exept : Code: dict { #quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext #expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext } # Most of the actual configuration gets included below. The filenames are # first sorted by their ASCII value and parsed in that order. The 00-prefixes # in filenames are intended to make it easier to understand the ordering. !include conf.d/*.conf # A config file can also tried to be included without giving an error if # it's not found: !include_try local.conf And the lda part is in the /etc/dovecot/conf.d/15-lda.conf file and this is the content: Code: ## ## LDA specific settings (also used by LMTP) ## # Address to use when sending rejection mails. # Default is [email protected]<your domain>. %d expands to recipient domain. #postmaster_address = # Hostname to use in various parts of sent mails (e.g. in Message-Id) and # in LMTP replies. Default is the system's real [email protected] #hostname =. # If user is over quota, return with temporary failure instead of # bouncing the mail. #quota_full_tempfail = no # Binary to use for sending mails. #sendmail_path = /usr/sbin/sendmail # If non-empty, send mails via this SMTP host[:port] instead of sendmail. #submission_host = # Subject: header to use for rejection mails. You can use the same variables # as for rejection_reason below. #rejection_subject = Rejected: %s # Human readable error message for rejection mails. You can use variables: # %n = CRLF, %r = reason, %s = original subject, %t = recipient #rejection_reason = Your message to <%t> was automatically rejected:%n%r # Delimiter character between local-part and detail in email address. #recipient_delimiter = + # Header where the original recipient address (SMTP's RCPT TO: address) is taken # from if not available elsewhere. With dovecot-lda -a parameter overrides this.. # A commonly used header for this is X-Original-To. #lda_original_recipient_header = # Should saving a mail to a nonexistent mailbox automatically create it? #lda_mailbox_autocreate = no # Should automatically created mailboxes be also automatically subscribed? #lda_mailbox_autosubscribe = no protocol lda { # Space separated list of plugins to load (default is global mail_plugins). #mail_plugins = $mail_plugins } Share the folder with many config files ls /etc/dovecot/conf.d/ Code: 10-auth.conf 20-lmtp.conf auth-deny.conf.ext 10-director.conf 20-managesieve.conf auth-dict.conf.ext 10-logging.conf 20-pop3.conf auth-ldap.conf.ext 10-mail.conf 90-acl.conf auth-master.conf.ext 10-master.conf 90-plugin.conf auth-passwdfile.conf.ext 10-ssl.conf 90-quota.conf auth-sql.conf.ext 15-lda.conf 90-sieve.conf auth-static.conf.ext 15-mailboxes.conf 90-sieve-extprograms.conf auth-system.conf.ext 20-imap.conf auth-checkpassword.conf.ext auth-vpopmail.conf.ext but after the ISPconfig installation the dovecot.conf look like a this: Code: listen = *,[::] protocols = imap pop3 auth_mechanisms = plain login disable_plaintext_auth = no log_timestamp = "%Y-%m-%d %H:%M:%S " mail_privileged_group = vmail ssl_cert = </etc/postfix/smtpd.cert ssl_key = </etc/postfix/smtpd.key ssl_protocols = !SSLv2 !SSLv3 passdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } userdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } plugin { quota = dict:user::file:/var/vmail/%d/%n/.quotausage sieve=/var/vmail/%d/%n/.sieve } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { group = vmail mode = 0600 user = vmail } user = root } service imap-login { client_limit = 1000 process_limit = 500 } protocol imap { mail_plugins = quota imap_quota } protocol pop3 { pop3_uidl_format = %08Xu%08Xv mail_plugins = quota } protocol lda { mail_plugins = sieve quota } I had to add the "postmaster_address" manually in the protocol lda section
That´s what i wanted to know. Thanks. Currently i have no idea why you need this with OpenSUSE. On Debian you don´t need this value. BTW: i don´t like the way the installer / updater checks postfix´s master.cf. Using grep or somethin similar may work. Maybe we can switch to "postconf -M dovecot.unix" to detect the service dovecot in postfix.