# Trouble setting up postfix

## jkcunningham

I'm having some trouble getting postfix running properly. I've read through the forum on the topic and haven't found anything yet that helps. 

I installed this system following the install instructions. I picked vcron which installed successfully. When I got to the point of emerging postfix and mutt, there was a conflict with ssmtp and postfix which I resolved by unmerging ssmtp (it is apparently installed by vcron). Postfix starts succesfully. 

When I went to test mutt as per the instructions, (mutt -x root, 'y' to create /root/.maildir), mutt hangs for a long time, then a dead.letter shows up "sendmail: cannot open mail: port 25" (or something like that). 

I searched the forum for stuff related to this message, found that it is considered a worn out subject, that vcron is probably trying to send a message and can't find sendmail, and that I should either write a script to redirect it to /dev/null or install a real mta, or that the group slocate needs to be added.

(1) I tried adding slocate, but it already exists.

(2) And I thought I was adding a real mta when I emerged postfix. Shouldn't the softlink /usr/sbin/sendmail -> point to postfix or something?

(3) I don't want to throw away vcron mails. I just want postfix to handle their delivery to whomever they should go to (the owner of the crontab, I would imagin). 

mutt is not working. The test file hangs and ends up in root/dead.letter. I'm not sure what I've done wrong. 

Any ideas?

-Jeff

----------

## MoonWalker

```
merc root # ls -l /usr/sbin/sendmail 

-rwxr-xr-x    1 root     root       100756 Apr 30 08:16 /usr/sbin/sendmail

merc root # ls -l /usr/lib/sendmail 

lrwxrwxrwx    1 root     root           18 Apr 30 08:16 /usr/lib/sendmail -> /usr/sbin/sendmail
```

This is how my Postfix 2.0.9 setup things, might give some clue.

----------

## jkcunningham

That's funny... both of mind are softlinked to ssmtp:

```

/usr/sbin/sendmail -> /usr/sbin/ssmtp

/usr/lib/sendmail -> /usr/sbin/ssmtp

```

And yet I unmerged ssmtp in order to get postfix to install. Portage does not appear to have removed ssmtp. What gives?

-Jeff

----------

## jkcunningham

Well, I did it again and this time it disappeared. I re-emerged postfix and *that* worked as well. It starts, and when I mutt -x root myself a test mail, it ends up in /root/.maildir/new.

The only thing that isn't working is that mutt doesn't see this message. 

It says "no mailbox" at the bottom. What happened to the mailbox I supposedly created? Isn't that .maildir? 

How do I create a mutt mailbox?

-Jeff

----------

## jkcunningham

Progress. But now mutt is expecting mail in /root/Maildir

whereas postfix is putting it in /root/.maildir

How do I tell mutt to look for mail in Maildir? 

-Jeff

----------

## MoonWalker

I'm not sure exactly as I never looked at mutt before 2 days ago, but it looks like you have some mismatch in your mail setup regarding destination of mail. Have a look at what "# postconf -n" says or check "# man postconf" for options. I think mutt choose mail path based on the installed MTA, maybe ssmtp still scew up things! Btw, did you re-emerge mutt after 2nd emerge of postfix? If not do so.

----------

## jkcunningham

You are probably right, but I'll be damned if I can see where the problem is. 

Here is the situation:

(1) postfix is working properly. If I do mutt -x root <some message>, it shows up in /root/.maildir/new  just like it should. This works from root or any other user. 

(2) When I run mutt by itself from root, it immediately asks: 

 *Quote:*   

> 
> 
> /~/.maildir does not exist. Create it?
> 
> 

 

If I say 'yes', it beeps and says:

 *Quote:*   

> 
> 
> /root/Maildir: No such file or directory (errno = 2)
> 
> 

 

Its slightly different if I run mutt from a user account. It asks the same thing, but when I say yes, it enters an empty account. When I quit, and try again, it acts exactly the same. 

The directories ~/.maildir/new , tmp , and cur all exist in both root and the user account, as created by postfix when the first message was sent to them. 

(3) If I run mutt -f ~/.maildir it still asks me about creating /~/.maildir but after I answer it opens up the mail directory correctly and I can see the mail. 

Here is the output of postconf for root>

2bounce_notice_recipient = postmaster

access_map_reject_code = 554

alias_database = hash:/etc/mail/aliases

alias_maps = hash:/etc/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_bcc = 

append_at_myorigin = yes

append_dot_mydomain = yes

authorized_verp_clients = $mynetworks

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_service_name = bounce

bounce_size_limit = 50000

broken_sasl_auth_clients = no

canonical_maps = 

cleanup_service_name = cleanup

command_directory = /usr/sbin

command_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

command_time_limit = 1000s

config_directory = /etc/postfix

content_filter = 

daemon_directory = /usr/lib/postfix

daemon_timeout = 18000s

debug_peer_level = 2

debug_peer_list = 

default_database_type = hash

default_delivery_slot_cost = 5

default_delivery_slot_discount = 50

default_delivery_slot_loan = 3

default_destination_concurrency_limit = 10

default_destination_recipient_limit = 50

default_extra_recipient_limit = 1000

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 = 10000

default_transport = smtp

default_verp_delimiters = +=

defer_code = 450

defer_service_name = defer

defer_transports = 

delay_notice_recipient = postmaster

delay_warning_time = 0h

deliver_lock_attempts = 20

deliver_lock_delay = 1s

disable_dns_lookups = no

disable_mime_input_processing = no

disable_mime_output_conversion = no

disable_verp_bounces = no

disable_vrfy_command = no

dont_remove = 0

double_bounce_sender = double-bounce

duplicate_filter_limit = 1000

empty_address_recipient = MAILER-DAEMON

error_notice_recipient = postmaster

error_service_name = error

expand_owner_alias = no

export_environment = TZ MAIL_CONFIG

extract_recipient_limit = 10240

fallback_relay = 

fallback_transport = 

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

hash_queue_depth = 1

hash_queue_names = incoming,active,deferred,bounce,defer,flush,hold

header_address_token_limit = 10240

header_checks = 

header_size_limit = 102400

helpful_warnings = yes

home_mailbox = .maildir/

hopcount_limit = 50

ignore_mx_lookup_error = no

import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY

in_flow_delay = 1s

inet_interfaces = $myhostname, localhost

initial_destination_concurrency = 5

invalid_hostname_reject_code = 501

ipc_idle = 100s

ipc_timeout = 3600s

line_length_limit = 2048

lmtp_cache_connection = yes

lmtp_connect_timeout = 0s

lmtp_data_done_timeout = 600s

lmtp_data_init_timeout = 120s

lmtp_data_xfer_timeout = 180s

lmtp_lhlo_timeout = 300s

lmtp_mail_timeout = 300s

lmtp_quit_timeout = 300s

lmtp_rcpt_timeout = 300s

lmtp_rset_timeout = 300s

lmtp_sasl_auth_enable = no

lmtp_sasl_password_maps = 

lmtp_sasl_security_options = noplaintext, noanonymous

lmtp_skip_quit_response = no

lmtp_tcp_port = 24

local_command_shell = 

local_destination_concurrency_limit = 2

local_destination_recipient_limit = 1

local_recipient_maps = proxy:unix:passwd.byname $alias_maps

local_transport = local:$myhostname

luser_relay = 

mail_name = Postfix

mail_owner = postfix

mail_release_date = 20030418

mail_spool_directory = /var/mail

mail_version = 2.0.9

mailbox_command = 

mailbox_command_maps = 

mailbox_delivery_lock = fcntl, dotlock

mailbox_size_limit = 51200000

mailbox_transport = 

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 = 

max_idle = 100s

max_use = 100

maximal_backoff_time = 4000s

maximal_queue_lifetime = 5d

message_size_limit = 10240000

mime_boundary_length_limit = 2048

mime_header_checks = $header_checks

mime_nesting_limit = 100

minimal_backoff_time = 1000s

mydestination = $myhostname, localhost.$mydomain

mydomain = olympus.net

myhostname = apollo.olympus.net

mynetworks = 127.0.0.0/8 

mynetworks_style = subnet

myorigin = $myhostname

nested_header_checks = $header_checks

newaliases_path = /usr/bin/newaliases

non_fqdn_reject_code = 504

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,relay_domains,smtpd_access_maps

permit_mx_backup_networks = 

pickup_service_name = pickup

prepend_delivered_header = command, file, forward

process_id_directory = pid

program_directory = /usr/lib/postfix

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

qmgr_clog_warn_time = 300s

qmgr_fudge_factor = 100

qmgr_message_active_limit = 20000

qmgr_message_recipient_limit = 20000

qmgr_message_recipient_minimum = 10

qmqpd_authorized_clients = 

qmqpd_error_delay = 1s

qmqpd_timeout = 300s

queue_directory = /var/spool/postfix

queue_file_attribute_count_limit = 100

queue_minfree = 0

queue_run_delay = 1000s

queue_service_name = qmgr

rbl_reply_maps = 

readme_directory = /usr/share/doc/postfix-2.0.9

recipient_canonical_maps = 

recipient_delimiter = 

reject_code = 554

relay_clientcerts = 

relay_domains = $mydestination

relay_domains_reject_code = 554

relay_recipient_maps = 

relay_transport = relay

relayhost = 

relocated_maps = 

require_home_directory = no

resolve_dequoted_address = yes

rewrite_service_name = rewrite

sample_directory = /etc/postfix/sample

sender_canonical_maps = 

sendmail_path = /usr/sbin/sendmail

service_throttle_time = 60s

setgid_group = postdrop

show_user_unknown_table_name = yes

showq_service_name = showq

smtp_always_send_ehlo = yes

smtp_bind_address = 

smtp_connect_timeout = 30s

smtp_data_done_timeout = 600s

smtp_data_init_timeout = 120s

smtp_data_xfer_timeout = 180s

smtp_destination_concurrency_limit = $default_destination_concurrency_limit

smtp_destination_recipient_limit = $default_destination_recipient_limit

smtp_enforce_tls = no

smtp_helo_name = $myhostname

smtp_helo_timeout = 300s

smtp_line_length_limit = 990

smtp_mail_timeout = 300s

smtp_never_send_ehlo = no

smtp_pix_workaround_delay_time = 10s

smtp_pix_workaround_threshold_time = 500s

smtp_quit_timeout = 300s

smtp_randomize_addresses = yes

smtp_rcpt_timeout = 300s

smtp_sasl_auth_enable = no

smtp_sasl_password_maps = 

smtp_sasl_security_options = noplaintext, noanonymous

smtp_skip_4xx_greeting = yes

smtp_skip_5xx_greeting = yes

smtp_skip_quit_response = yes

smtp_starttls_timeout = 300s

smtp_tls_CAfile = 

smtp_tls_CApath = 

smtp_tls_cert_file = 

smtp_tls_cipherlist = 

smtp_tls_dcert_file = 

smtp_tls_dkey_file = $smtp_tls_dcert_file

smtp_tls_enforce_peername = yes

smtp_tls_key_file = $smtp_tls_cert_file

smtp_tls_loglevel = 0

smtp_tls_note_starttls_offer = no

smtp_tls_per_site = 

smtp_tls_session_cache_database = 

smtp_tls_session_cache_timeout = 3600s

smtp_use_tls = no

smtpd_banner = $myhostname ESMTP $mail_name

smtpd_client_restrictions = 

smtpd_data_restrictions = 

smtpd_delay_reject = yes

smtpd_enforce_tls = no

smtpd_error_sleep_time = 1s

smtpd_etrn_restrictions = 

smtpd_expansion_filter = \t\40!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~

smtpd_hard_error_limit = 20

smtpd_helo_required = no

smtpd_helo_restrictions = 

smtpd_history_flush_threshold = 100

smtpd_junk_command_limit = 100

smtpd_noop_commands = 

smtpd_null_access_lookup_key = <>

smtpd_recipient_limit = 1000

smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

smtpd_restriction_classes = 

smtpd_sasl_auth_enable = no

smtpd_sasl_local_domain = 

smtpd_sasl_security_options = noanonymous

smtpd_sender_login_maps = 

smtpd_sender_restrictions = 

smtpd_soft_error_limit = 10

smtpd_timeout = 300s

smtpd_tls_CAfile = 

smtpd_tls_CApath = 

smtpd_tls_ask_ccert = no

smtpd_tls_auth_only = no

smtpd_tls_ccert_verifydepth = 5

smtpd_tls_cert_file = 

smtpd_tls_cipherlist = 

smtpd_tls_dcert_file = 

smtpd_tls_dh1024_param_file = 

smtpd_tls_dh512_param_file = 

smtpd_tls_dkey_file = $smtpd_tls_dcert_file

smtpd_tls_key_file = $smtpd_tls_cert_file

smtpd_tls_loglevel = 0

smtpd_tls_received_header = no

smtpd_tls_req_ccert = no

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

strict_7bit_headers = no

strict_8bitmime = no

strict_8bitmime_body = no

strict_mime_encoding_domain = no

strict_rfc821_envelopes = no

sun_mailtool_compatibility = no

swap_bangpath = yes

syslog_facility = mail

syslog_name = postfix

tls_daemon_random_bytes = 32

tls_daemon_random_source = 

tls_random_bytes = 32

tls_random_exchange_name = ${config_directory}/prng_exch

tls_random_prng_update_period = 60s

tls_random_reseed_period = 3600s

tls_random_source = 

transport_maps = 

transport_retry_time = 60s

trigger_timeout = 10s

undisclosed_recipients_header = To: undisclosed-recipients:;

unknown_address_reject_code = 450

unknown_client_reject_code = 450

unknown_hostname_reject_code = 450

unknown_local_recipient_reject_code = 450

unknown_relay_recipient_reject_code = 550

unknown_virtual_alias_reject_code = 550

unknown_virtual_mailbox_reject_code = 550

verp_delimiter_filter = -=+

virtual_alias_domains = $virtual_alias_maps

virtual_alias_maps = $virtual_maps

virtual_gid_maps = 

virtual_mailbox_base = 

virtual_mailbox_domains = $virtual_mailbox_maps

virtual_mailbox_limit = 51200000

virtual_mailbox_lock = fcntl

virtual_mailbox_maps = 

virtual_minimum_uid = 100

virtual_transport = virtual

virtual_uid_maps = 

Help!

-Jeff

----------

## jkcunningham

I figured it out! (by reading tfm  ;o  )  See:

http://www.mutt.org/doc/manual/manual-6.html#spoolfile

For the benifit of anyone trying to solve this problem, you need to set an environment variable in your .bashrc:

```

export MAIL=$HOME/.maildir

```

I don't know why the mutt defaults don't work, but this apparently overrides them and it fires right up where it belongs.

-Jeff

----------

