Hey guys, My postfix cannot get any external mail (such as Gmail) and I have this specific error on the mail log. Nov 11 21:23:18 mail master[15606]: fatal: master_spawn: exec /usr/libexec/postfix/-o: No such file or directory Nov 11 21:23:19 mail postfix/master[2949]: warning: process /usr/libexec/postfix/-o pid 15606 exit status 1 Nov 11 21:23:19 mail postfix/master[2949]: warning: /usr/libexec/postfix/-o: bad command startup -- throttling Is there anyone can help me? Regards,
You seem to run postfix as mail server? How have you set it up? What operating system? Is the errormessage exact? Looks like the command name is missing.
yes, I run postfix as a mail server on CentOS Linux release 7.5.1804 (Core). The server implemented with postfix+dovecot+amavisd postfix configuration: Code: [root@mail ~]# postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases body_checks = regexp:/etc/postfix/body_checks broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix content_filter = amavis:[127.0.0.1]:10024 daemon_directory = /usr/libexec/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 dovecot_destination_recipient_limit = 1 greylisting = check_policy_service inet:127.0.0.1:10023 header_checks = regexp:/etc/postfix/header_checks home_mailbox = maildir/ html_directory = no inet_interfaces = all inet_protocols = all mail_owner = postfix maildrop_destination_concurrency_limit = 1 maildrop_destination_recipient_limit = 1 mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man milter_default_action = accept mime_header_checks = regexp:/etc/postfix/mime_header_checks mydestination = $myhostname, localhost.$mydomain, localhost mydomain = mydomain.com myhostname = mail.mydomain.com mynetworks = 127.0.0.0/8 myorigin = $mydomain nested_header_checks = regexp:/etc/postfix/nested_header_checks newaliases_path = /usr/bin/newaliases.postfix non_smtpd_milters = $smtpd_milters proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES receive_override_options = no_address_mappings relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf sample_directory = /usr/share/doc/postfix-2.10.1/samples sender_bcc_maps = proxy:mysql:/etc/postfix/mysql-virtual_outgoing_bcc.cf sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop smtp_tls_exclude_ciphers = RC4, aNULL smtp_tls_note_starttls_offer = yes smtp_tls_protocols = !SSLv2,!SSLv3 smtp_tls_security_level = may smtpd_client_message_rate_limit = 100 smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf smtpd_helo_required = yes smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:/etc/postfix/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname, check_helo_access regexp:/etc/postfix/blacklist_helo smtpd_milters = inet:127.0.0.1:8891 smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_restriction_classes = greylisting smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_local_domain = smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql-virtual_sender_login_maps.cf smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/tag_as_originating.re , permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf, check_sender_access regexp:/etc/postfix/tag_as_foreign.re smtpd_tls_cert_file = /etc/postfix/ssl/mailkey.crt smtpd_tls_exclude_ciphers = RC4, aNULL smtpd_tls_key_file = /etc/postfix/ssl/mail.key smtpd_tls_loglevel = 1 smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_protocols = !SSLv2,!SSLv3 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 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 = mysql:/etc/postfix/mysql-virtual_gids.cf 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 = mysql:/etc/postfix/mysql-virtual_uids.cf
and master.cf Code: # # Postfix master process configuration file. For details on the format # of the file, see the master(5) manual page (command: "man 5 master"). # # Do not forget to execute "postfix reload" after editing this file. # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - n - - smtpd submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_sasl_auth_enable=yes -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - n - - smtpd -o syslog_name=postfix/smtps -o smtpd_sasl_auth_enable=yes -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING #smtp inet n - n - 1 postscreen #smtpd pass - - n - - smtpd #dnsblog unix - - n - 0 dnsblog #tlsproxy unix - - n - 0 tlsproxy #submission inet n - n - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - n - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #628 inet n - n - - qmqpd 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 # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 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 # # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender} # # ==================================================================== # # Recent Cyrus versions can use the existing "lmtp" master.cf entry. # # Specify in cyrus.conf: # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 # # Specify in main.cf one or more of the following: # mailbox_transport = lmtp:inet:localhost # virtual_transport = lmtp:inet:localhost # # ==================================================================== # # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe # user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # # Old example of delivery via Cyrus. # #old-cyrus unix - n n - - pipe # flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user} # # ==================================================================== # # See the Postfix UUCP_README file for configuration details. # #uucp unix - n n - - pipe # flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # ==================================================================== # # Other external delivery methods. # #ifmail unix - n n - - pipe # flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) # #bsmtp unix - n n - - pipe # flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient # #scalemail-backend unix - n n - 2 pipe # flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store # ${nexthop} ${user} ${extension} # #mailman unix - n n - - pipe # flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py # ${nexthop} ${user} dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop} #amavis unix - - - - 2 smtp amavis unix - - y - 21smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o smtp_bind_address= 127.0.0.1:10025 inet n - 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 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes 127.0.0.1:10027 inet n - 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 -o smtp_send_xforward_command=yes -o milter_default_action=accept -o milter_macro_daemon_name=ORIGINATING -o disable_dns_lookups=yes Warm regards Taleman
Does the error go away if you tix this indentation? Code: -o smtp_send_xforward_command=yes -o milter_default_action=accept -o milter_macro_daemon_name=ORIGINATING
I comment out these lines and restart postfix, but the problem still exists. Code: Nov 12 00:04:17 mail postfix/postfix-script[21759]: stopping the Postfix mail system Nov 12 00:04:17 mail postfix/master[21706]: terminating on signal 15 Nov 12 00:04:17 mail postfix/postfix-script[21836]: starting the Postfix mail system Nov 12 00:04:18 mail postfix/master[21838]: daemon started -- version 2.10.1, configuration /etc/postfix Nov 12 00:04:18 mail postfix/pickup[21839]: 10AAB121031: uid=89 from=<[email protected]> orig_id=14FC312102F Nov 12 00:04:18 mail postfix/cleanup[21842]: 10AAB121031: message-id=<[email protected]> Nov 12 00:04:18 mail postfix/qmgr[21840]: 10AAB121031: from=<[email protected]>, size=1320, nrcpt=1 (queue active) Nov 12 00:04:18 mail master[21847]: fatal: master_spawn: exec /usr/libexec/postfix/-o: No such file or directory Nov 12 00:04:19 mail postfix/master[21838]: warning: process /usr/libexec/postfix/-o pid 21847 exit status 1 Nov 12 00:04:19 mail postfix/master[21838]: warning: /usr/libexec/postfix/-o: bad command startup -- throttling
postfix check returns nothing! but let's take a look at postfix -vv Code: [root@mail ~]# postfix check [root@mail ~]# postfix -vv postfix: dict_register: mail_dict 1 postfix: dict_update: config_directory = /etc/postfix postfix: dict_load_fp: queue_directory = /var/spool/postfix postfix: dict_load_fp: command_directory = /usr/sbin postfix: dict_load_fp: daemon_directory = /usr/libexec/postfix postfix: dict_load_fp: data_directory = /var/lib/postfix postfix: dict_load_fp: mail_owner = postfix postfix: dict_load_fp: inet_interfaces = all postfix: dict_load_fp: inet_protocols = all postfix: dict_load_fp: mydestination = $myhostname, localhost.$mydomain, localhost postfix: dict_load_fp: unknown_local_recipient_reject_code = 550 postfix: dict_load_fp: alias_maps = hash:/etc/aliases postfix: dict_load_fp: alias_database = hash:/etc/aliases postfix: dict_load_fp: debug_peer_level = 2 postfix: dict_load_fp: debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin? ddd $daemon_directory/$process_name $process_id & sleep 5 postfix: dict_load_fp: sendmail_path = /usr/sbin/sendmail.postfix postfix: dict_load_fp: newaliases_path = /usr/bin/newaliases.postfix postfix: dict_load_fp: mailq_path = /usr/bin/mailq.postfix postfix: dict_load_fp: setgid_group = postdrop postfix: dict_load_fp: html_directory = no postfix: dict_load_fp: manpage_directory = /usr/share/man postfix: dict_load_fp: sample_directory = /usr/share/doc/postfix-2.10.1/samples postfix: dict_load_fp: readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES postfix: dict_load_fp: virtual_alias_domains = postfix: dict_load_fp: virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf postfix: dict_load_fp: virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf postfix: dict_load_fp: virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf postfix: dict_load_fp: virtual_mailbox_base = /var/vmail postfix: dict_load_fp: virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uids.cf postfix: dict_load_fp: virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gids.cf postfix: dict_load_fp: sender_bcc_maps = proxy:mysql:/etc/postfix/mysql-virtual_outgoing_bcc.cf postfix: dict_load_fp: smtpd_sasl_authenticated_header = yes postfix: dict_load_fp: smtpd_restriction_classes = greylisting postfix: dict_load_fp: greylisting = check_policy_service inet:127.0.0.1:10023 postfix: dict_load_fp: smtpd_use_tls = yes postfix: dict_load_fp: transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:/etc/postfix/mysql-virtual_transports.cf postfix: dict_load_fp: relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf postfix: dict_load_fp: relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf postfix: dict_load_fp: smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql-virtual_sender_login_maps.cf postfix: dict_load_fp: proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps postfix: dict_load_fp: smtpd_helo_required = yes postfix: dict_load_fp: smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:/etc/postfix/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname, check_helo_access regexp:/etc/postfix/blacklist_helo postfix: dict_load_fp: smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/tag_as_originating.re , permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf, check_sender_access regexp:/etc/postfix/tag_as_foreign.re postfix: dict_load_fp: smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf postfix: dict_load_fp: smtpd_client_message_rate_limit = 100 postfix: dict_load_fp: maildrop_destination_concurrency_limit = 1 postfix: dict_load_fp: maildrop_destination_recipient_limit = 1 postfix: dict_load_fp: virtual_transport = dovecot postfix: dict_load_fp: header_checks = regexp:/etc/postfix/header_checks postfix: dict_load_fp: mime_header_checks = regexp:/etc/postfix/mime_header_checks postfix: dict_load_fp: nested_header_checks = regexp:/etc/postfix/nested_header_checks postfix: dict_load_fp: body_checks = regexp:/etc/postfix/body_checks postfix: dict_load_fp: smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 postfix: dict_load_fp: smtpd_tls_protocols = !SSLv2,!SSLv3 postfix: dict_load_fp: smtp_tls_protocols = !SSLv2,!SSLv3 postfix: dict_load_fp: smtpd_tls_exclude_ciphers = RC4, aNULL postfix: dict_load_fp: smtp_tls_exclude_ciphers = RC4, aNULL postfix: dict_load_fp: dovecot_destination_recipient_limit = 1 postfix: dict_load_fp: content_filter = amavis:[127.0.0.1]:10024 postfix: dict_load_fp: receive_override_options = no_address_mappings postfix: dict_load_fp: myhostname = mail.mydomain.com postfix: dict_load_fp: mydomain = mydomain.com postfix: dict_load_fp: myorigin = $mydomain postfix: dict_load_fp: home_mailbox = maildir/ postfix: dict_load_fp: mynetworks = 127.0.0.0/8 postfix: dict_load_fp: inet_interfaces = all postfix: dict_load_fp: smtpd_sasl_type = dovecot postfix: dict_load_fp: smtpd_sasl_path = private/auth postfix: dict_load_fp: smtpd_sasl_local_domain = postfix: dict_load_fp: smtpd_sasl_security_options = noanonymous postfix: dict_load_fp: broken_sasl_auth_clients = yes postfix: dict_load_fp: smtpd_sasl_auth_enable = yes postfix: dict_load_fp: smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination postfix: dict_load_fp: smtp_tls_security_level = may postfix: dict_load_fp: smtpd_tls_security_level = may postfix: dict_load_fp: smtp_tls_note_starttls_offer = yes postfix: dict_load_fp: smtpd_tls_loglevel = 1 postfix: dict_load_fp: smtpd_tls_key_file = /etc/postfix/ssl/mail.key postfix: dict_load_fp: smtpd_tls_cert_file = /etc/postfix/ssl/mailkey.crt postfix: dict_load_fp: smtpd_tls_received_header = yes postfix: dict_load_fp: smtpd_tls_session_cache_timeout = 3600s postfix: dict_load_fp: tls_random_source = dev:/dev/urandom postfix: dict_load_fp: smtpd_milters = inet:127.0.0.1:8891 postfix: dict_load_fp: non_smtpd_milters = $smtpd_milters postfix: dict_load_fp: milter_default_action = accept postfix: dict_lookup: syslog_facility = (notfound) postfix: mac_parse: mail postfix: dict_eval: const mail postfix: dict_update: syslog_facility = mail postfix: dict_lookup: inet_protocols = all postfix: mac_parse: all postfix: dict_eval: const all postfix: dict_lookup: multi_instance_directories = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: multi_instance_directories = postfix: dict_lookup: multi_instance_group = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: multi_instance_group = postfix: dict_lookup: multi_instance_name = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: multi_instance_name = postfix: dict_lookup: daemon_table_open_error_is_fatal = (notfound) postfix: dict_update: daemon_table_open_error_is_fatal = no postfix: name_mask: all postfix: dict_lookup: myhostname = mail.mydomain.com postfix: mac_parse: mail.mydomain.com postfix: dict_eval: const mail.mydomain.com postfix: dict_lookup: mydomain = mydomain.com postfix: mac_parse: mydomain.com postfix: dict_eval: const mydomain.com postfix: dict_lookup: mail_name = (notfound) postfix: mac_parse: Postfix postfix: dict_eval: const Postfix postfix: dict_update: mail_name = Postfix postfix: dict_lookup: syslog_name = (notfound) postfix: mac_parse: ${multi_instance_name:postfix}${multi_instance_name?$multi_instance_name} postfix: mac_parse: postfix postfix: dict_eval: expand ${multi_instance_name:postfix}${multi_instance_name?$multi_instance_name} -> postfix postfix: dict_update: syslog_name = postfix postfix: dict_lookup: mail_owner = postfix postfix: mac_parse: postfix postfix: dict_eval: const postfix postfix: dict_lookup: setgid_group = postdrop postfix: mac_parse: postdrop postfix: dict_eval: const postdrop postfix: dict_lookup: mydestination = $myhostname, localhost.$mydomain, localhost postfix: mac_parse: $myhostname, localhost.$mydomain, localhost postfix: mac_parse: mail.mydomain.com postfix: mac_parse: mydomain.com postfix: dict_eval: expand $myhostname, localhost.$mydomain, localhost -> mail.mydomain.com, localhost.mydomain.com, localhost postfix: dict_lookup: myorigin = $mydomain postfix: mac_parse: $mydomain postfix: mac_parse: mydomain.com postfix: dict_eval: expand $mydomain -> mydomain.com postfix: dict_lookup: relayhost = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: relayhost = postfix: dict_lookup: daemon_directory = /usr/libexec/postfix postfix: mac_parse: /usr/libexec/postfix postfix: dict_eval: const /usr/libexec/postfix postfix: dict_lookup: data_directory = /var/lib/postfix postfix: mac_parse: /var/lib/postfix postfix: dict_eval: const /var/lib/postfix postfix: dict_lookup: command_directory = /usr/sbin postfix: mac_parse: /usr/sbin postfix: dict_eval: const /usr/sbin postfix: dict_lookup: queue_directory = /var/spool/postfix postfix: mac_parse: /var/spool/postfix postfix: dict_eval: const /var/spool/postfix postfix: dict_lookup: process_id_directory = (notfound) postfix: mac_parse: pid postfix: dict_eval: const pid postfix: dict_update: process_id_directory = pid postfix: dict_lookup: inet_interfaces = all
continue: Code: postfix: dict_lookup: inet_interfaces = all postfix: mac_parse: all postfix: dict_eval: const all postfix: dict_lookup: proxy_interfaces = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: proxy_interfaces = postfix: dict_lookup: double_bounce_sender = (notfound) postfix: mac_parse: double-bounce postfix: dict_eval: const double-bounce postfix: dict_update: double_bounce_sender = double-bounce postfix: dict_lookup: default_privs = (notfound) postfix: mac_parse: nobody postfix: dict_eval: const nobody postfix: dict_update: default_privs = nobody postfix: dict_lookup: alias_database = hash:/etc/aliases postfix: mac_parse: hash:/etc/aliases postfix: dict_eval: const hash:/etc/aliases postfix: dict_lookup: mail_release_date = (notfound) postfix: mac_parse: 20130622 postfix: dict_eval: const 20130622 postfix: dict_update: mail_release_date = 20130622 postfix: dict_lookup: mail_version = (notfound) postfix: mac_parse: 2.10.1 postfix: dict_eval: const 2.10.1 postfix: mac_parse: 2.10.1 postfix: dict_eval: const 2.10.1 postfix: dict_update: mail_version = 2.10.1 postfix: dict_lookup: default_database_type = (notfound) postfix: mac_parse: hash postfix: dict_eval: const hash postfix: dict_update: default_database_type = hash postfix: dict_lookup: hash_queue_names = (notfound) postfix: mac_parse: deferred, defer postfix: dict_eval: const deferred, defer postfix: dict_update: hash_queue_names = deferred, defer postfix: dict_lookup: recipient_delimiter = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: recipient_delimiter = postfix: dict_lookup: relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf postfix: mac_parse: mysql:/etc/postfix/mysql-virtual_relaydomains.cf postfix: dict_eval: const mysql:/etc/postfix/mysql-virtual_relaydomains.cf postfix: dict_lookup: fast_flush_domains = (notfound) postfix: mac_parse: $relay_domains postfix: mac_parse: mysql:/etc/postfix/mysql-virtual_relaydomains.cf postfix: dict_eval: expand $relay_domains -> mysql:/etc/postfix/mysql-virtual_relaydomains.cf postfix: dict_update: fast_flush_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf postfix: dict_lookup: export_environment = (notfound) postfix: mac_parse: TZ MAIL_CONFIG LANG postfix: dict_eval: const TZ MAIL_CONFIG LANG postfix: dict_update: export_environment = TZ MAIL_CONFIG LANG postfix: dict_lookup: import_environment = (notfound) postfix: mac_parse: MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C postfix: dict_eval: const MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C postfix: dict_update: import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C postfix: dict_lookup: mynetworks_style = (notfound) postfix: mac_parse: subnet postfix: dict_eval: const subnet postfix: dict_update: mynetworks_style = subnet postfix: dict_lookup: debug_peer_list = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: debug_peer_list = postfix: dict_lookup: default_verp_delimiters = (notfound) postfix: mac_parse: += postfix: dict_eval: const += postfix: dict_update: default_verp_delimiters = += postfix: dict_lookup: verp_delimiter_filter = (notfound) postfix: mac_parse: -=+ postfix: dict_eval: const -=+ postfix: dict_update: verp_delimiter_filter = -=+ postfix: dict_lookup: parent_domain_matches_subdomains = (notfound) postfix: mac_parse: debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps postfix: dict_eval: const debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps postfix: dict_update: parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps postfix: dict_lookup: alternate_config_directories = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: alternate_config_directories = postfix: dict_lookup: bounce_service_name = (notfound) postfix: mac_parse: bounce postfix: dict_eval: const bounce postfix: dict_update: bounce_service_name = bounce postfix: dict_lookup: cleanup_service_name = (notfound) postfix: mac_parse: cleanup postfix: dict_eval: const cleanup postfix: dict_update: cleanup_service_name = cleanup postfix: dict_lookup: defer_service_name = (notfound) postfix: mac_parse: defer postfix: dict_eval: const defer postfix: dict_update: defer_service_name = defer postfix: dict_lookup: pickup_service_name = (notfound) postfix: mac_parse: pickup postfix: dict_eval: const pickup postfix: dict_update: pickup_service_name = pickup postfix: dict_lookup: queue_service_name = (notfound) postfix: mac_parse: qmgr postfix: dict_eval: const qmgr postfix: dict_update: queue_service_name = qmgr postfix: dict_lookup: rewrite_service_name = (notfound) postfix: mac_parse: rewrite postfix: dict_eval: const rewrite postfix: dict_update: rewrite_service_name = rewrite postfix: dict_lookup: showq_service_name = (notfound) postfix: mac_parse: showq postfix: dict_eval: const showq postfix: dict_update: showq_service_name = showq postfix: dict_lookup: error_service_name = (notfound) postfix: mac_parse: error postfix: dict_eval: const error postfix: dict_update: error_service_name = error postfix: dict_lookup: flush_service_name = (notfound) postfix: mac_parse: flush postfix: dict_eval: const flush postfix: dict_update: flush_service_name = flush postfix: dict_lookup: address_verify_service_name = (notfound) postfix: mac_parse: verify postfix: dict_eval: const verify postfix: dict_update: address_verify_service_name = verify postfix: dict_lookup: trace_service_name = (notfound) postfix: mac_parse: trace postfix: dict_eval: const trace postfix: dict_update: trace_service_name = trace postfix: dict_lookup: proxymap_service_name = (notfound) postfix: mac_parse: proxymap postfix: dict_eval: const proxymap postfix: dict_update: proxymap_service_name = proxymap postfix: dict_lookup: proxywrite_service_name = (notfound) postfix: mac_parse: proxywrite postfix: dict_eval: const proxywrite postfix: dict_update: proxywrite_service_name = proxywrite postfix: dict_lookup: internal_mail_filter_classes = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: internal_mail_filter_classes = postfix: dict_lookup: multi_instance_wrapper = (notfound) postfix: mac_parse: postfix: dict_eval: const postfix: dict_update: multi_instance_wrapper = postfix: dict_lookup: max_use = (notfound) postfix: dict_update: max_use = 100 postfix: dict_lookup: dont_remove = (notfound) postfix: dict_update: dont_remove = 0 postfix: dict_lookup: line_length_limit = (notfound) postfix: dict_update: line_length_limit = 2048 postfix: dict_lookup: hash_queue_depth = (notfound) postfix: dict_update: hash_queue_depth = 1 postfix: dict_lookup: fork_attempts = (notfound) postfix: dict_update: fork_attempts = 5 postfix: dict_lookup: deliver_lock_attempts = (notfound) postfix: dict_update: deliver_lock_attempts = 20 postfix: dict_lookup: debug_peer_level = 2 postfix: mac_parse: 2 postfix: dict_eval: const 2
even more... Code: postfix: dict_eval: const 2 postfix: dict_lookup: fault_injection_code = (notfound) postfix: dict_update: fault_injection_code = 0 postfix: dict_lookup: berkeley_db_create_buffer_size = (notfound) postfix: dict_update: berkeley_db_create_buffer_size = 16777216 postfix: dict_lookup: berkeley_db_read_buffer_size = (notfound) postfix: dict_update: berkeley_db_read_buffer_size = 131072 postfix: dict_lookup: header_size_limit = (notfound) postfix: dict_update: header_size_limit = 102400 postfix: dict_lookup: header_address_token_limit = (notfound) postfix: dict_update: header_address_token_limit = 10240 postfix: dict_lookup: mime_nesting_limit = (notfound) postfix: dict_update: mime_nesting_limit = 100 postfix: dict_lookup: mime_boundary_length_limit = (notfound) postfix: dict_update: mime_boundary_length_limit = 2048 postfix: dict_lookup: delay_logging_resolution_limit = (notfound) postfix: dict_update: delay_logging_resolution_limit = 2 postfix: dict_lookup: tcp_windowsize = (notfound) postfix: dict_update: tcp_windowsize = 0 postfix: dict_lookup: message_size_limit = (notfound) postfix: dict_update: message_size_limit = 10240000 postfix: dict_lookup: disable_dns_lookups = (notfound) postfix: dict_update: disable_dns_lookups = no postfix: dict_lookup: soft_bounce = (notfound) postfix: dict_update: soft_bounce = no postfix: dict_lookup: owner_request_special = (notfound) postfix: dict_update: owner_request_special = yes postfix: dict_lookup: strict_8bitmime = (notfound) postfix: dict_update: strict_8bitmime = no postfix: dict_lookup: strict_7bit_headers = (notfound) postfix: dict_update: strict_7bit_headers = no postfix: dict_lookup: strict_8bitmime_body = (notfound) postfix: dict_update: strict_8bitmime_body = no postfix: dict_lookup: strict_mime_encoding_domain = (notfound) postfix: dict_update: strict_mime_encoding_domain = no postfix: dict_lookup: disable_mime_input_processing = (notfound) postfix: dict_update: disable_mime_input_processing = no postfix: dict_lookup: disable_mime_output_conversion = (notfound) postfix: dict_update: disable_mime_output_conversion = no postfix: dict_lookup: address_verify_negative_cache = (notfound) postfix: dict_update: address_verify_negative_cache = yes postfix: dict_lookup: backwards_bounce_logfile_compatibility = (notfound) postfix: dict_update: backwards_bounce_logfile_compatibility = yes postfix: dict_lookup: helpful_warnings = (notfound) postfix: dict_update: helpful_warnings = yes postfix: dict_lookup: send_cyrus_sasl_authzid = (notfound) postfix: dict_update: send_cyrus_sasl_authzid = no postfix: dict_lookup: multi_instance_enable = (notfound) postfix: dict_update: multi_instance_enable = no postfix: dict_lookup: enable_long_queue_ids = (notfound) postfix: dict_update: enable_long_queue_ids = no postfix: mac_parse: 100s postfix: dict_eval: const 100s postfix: dict_lookup: application_event_drain_time = (notfound) postfix: dict_update: application_event_drain_time = 100s postfix: dict_lookup: application_event_drain_time = 100s postfix: mac_parse: 100s postfix: dict_eval: const 100s postfix: mac_parse: 100s postfix: dict_eval: const 100s postfix: dict_lookup: max_idle = (notfound) postfix: dict_update: max_idle = 100s postfix: dict_lookup: max_idle = 100s postfix: mac_parse: 100s postfix: dict_eval: const 100s postfix: mac_parse: 3600s postfix: dict_eval: const 3600s postfix: dict_lookup: ipc_timeout = (notfound) postfix: dict_update: ipc_timeout = 3600s postfix: dict_lookup: ipc_timeout = 3600s postfix: mac_parse: 3600s postfix: dict_eval: const 3600s postfix: mac_parse: 5s postfix: dict_eval: const 5s postfix: dict_lookup: ipc_idle = (notfound) postfix: dict_update: ipc_idle = 5s postfix: dict_lookup: ipc_idle = 5s postfix: mac_parse: 5s postfix: dict_eval: const 5s postfix: mac_parse: 1000s postfix: dict_eval: const 1000s postfix: dict_lookup: ipc_ttl = (notfound) postfix: dict_update: ipc_ttl = 1000s postfix: dict_lookup: ipc_ttl = 1000s postfix: mac_parse: 1000s postfix: dict_eval: const 1000s postfix: mac_parse: 10s postfix: dict_eval: const 10s postfix: dict_lookup: trigger_timeout = (notfound) postfix: dict_update: trigger_timeout = 10s postfix: dict_lookup: trigger_timeout = 10s postfix: mac_parse: 10s postfix: dict_eval: const 10s postfix: mac_parse: 1s postfix: dict_eval: const 1s postfix: dict_lookup: fork_delay = (notfound) postfix: dict_update: fork_delay = 1s postfix: dict_lookup: fork_delay = 1s postfix: mac_parse: 1s postfix: dict_eval: const 1s postfix: mac_parse: 1s postfix: dict_eval: const 1s postfix: dict_lookup: deliver_lock_delay = (notfound) postfix: dict_update: deliver_lock_delay = 1s postfix: dict_lookup: deliver_lock_delay = 1s postfix: mac_parse: 1s postfix: dict_eval: const 1s postfix: mac_parse: 500s postfix: dict_eval: const 500s postfix: dict_lookup: stale_lock_time = (notfound) postfix: dict_update: stale_lock_time = 500s postfix: dict_lookup: stale_lock_time = 500s postfix: mac_parse: 500s postfix: dict_eval: const 500s postfix: mac_parse: 18000s postfix: dict_eval: const 18000s postfix: dict_lookup: daemon_timeout = (notfound) postfix: dict_update: daemon_timeout = 18000s postfix: dict_lookup: daemon_timeout = 18000s postfix: mac_parse: 18000s postfix: dict_eval: const 18000s postfix: mac_parse: 1s postfix: dict_eval: const 1s postfix: dict_lookup: in_flow_delay = (notfound) postfix: dict_update: in_flow_delay = 1s postfix: dict_lookup: in_flow_delay = 1s postfix: mac_parse: 1s postfix: dict_eval: const 1s postfix: dict_lookup: mynetworks = 127.0.0.0/8 postfix: mac_parse: 127.0.0.0/8 postfix: dict_eval: const 127.0.0.0/8 postfix: inet_addr_list_append: 127.0.0.1 postfix: inet_addr_list_append: 255.0.0.0 postfix: inet_addr_list_append: [MY.IP.ADDRESS] postfix: inet_addr_list_append: 255.255.255.0 postfix: inet_addr_local: configured 2 IPv4 addresses postfix: inet_addr_list_append: ::1 postfix: inet_addr_list_append: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff postfix: inet_addr_list_append: [MY::MAC::ADDRESS] postfix: inet_addr_list_append: ffff:ffff:ffff:ffff:: postfix: inet_addr_local: configured 2 IPv6 addresses postfix: dict_update: process_id = 28390 postfix: dict_lookup: sendmail_path = /usr/sbin/sendmail.postfix postfix: mac_parse: /usr/sbin/sendmail.postfix postfix: dict_eval: const /usr/sbin/sendmail.postfix postfix: dict_lookup: mailq_path = /usr/bin/mailq.postfix postfix: mac_parse: /usr/bin/mailq.postfix postfix: dict_eval: const /usr/bin/mailq.postfix postfix: dict_lookup: newaliases_path = /usr/bin/newaliases.postfix postfix: mac_parse: /usr/bin/newaliases.postfix postfix: dict_eval: const /usr/bin/newaliases.postfix postfix: dict_lookup: manpage_directory = /usr/share/man postfix: mac_parse: /usr/share/man postfix: dict_eval: const /usr/share/man postfix: dict_lookup: sample_directory = /usr/share/doc/postfix-2.10.1/samples postfix: mac_parse: /usr/share/doc/postfix-2.10.1/samples postfix: dict_eval: const /usr/share/doc/postfix-2.10.1/samples postfix: dict_lookup: readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES postfix: mac_parse: /usr/share/doc/postfix-2.10.1/README_FILES postfix: dict_eval: const /usr/share/doc/postfix-2.10.1/README_FILES postfix: dict_lookup: html_directory = no postfix: mac_parse: no postfix: dict_eval: const no postfix/postfix-script: error: unknown command: '' postfix/postfix-script: fatal: usage: postfix start (or stop, reload, abort, flush, check, status, set-permissions, upgrade-configuration)
Does you host have that problem directory? Code: ls -lh /usr/libexec/postfix ls -lhd /usr/libexec/postfix The error message looks like postfix startup tries to execute command Code: usr/libexec/postfix/-o That looks like a typo, creating files that start with dash character is a bad idea, and file named -o is doubly so. Have you modified postfix startup files? Check for typos. How did this problem appear? Is host just installed? Did postfix work for ages and now suddenly stopped? What was done between working and not workin states?