Home › Forums › OS X Server and Client Discussion › Mail › Mail and My Decent Into Hell
- This topic has 1 reply, 1 voice, and was last updated 19 years, 8 months ago by
k12techman.
-
AuthorPosts
-
February 25, 2007 at 3:58 am #368387
k12techman
ParticipantI’m a first time poster to AFP548, but a long time reader…..
I’ve recently set up my own mail server of 10.4.8 with the latest updates and such. DNS is working forwards and backwards, public and private. However, whenever I attempt to send email to my domain from a different domain, I get the following error returned:
Hi. This is the qmail-send program at yahoo.com.
I’m afraid I wasn’t able to deliver your message to the following addresses.
This is a permanent error; I’ve given up. Sorry it didn’t work out.:
65.71.169.5 does not like recipient.
Remote host said: 554: Relay access denied
Giving up on 65.71.169.5.I’m not brand new to OS X Server, and I’ve set email servers up previously. But, this has the best of me and I’m considering a sacrifice to the Sun god if no one here can help.
Here are the results of a postfix -v -v
postfix: dict_register: mail_dict 1
postfix: dict_update: config_directory = /etc/postfix
postfix: dict_update: queue_directory = /private/var/spool/postfix
postfix: dict_update: command_directory = /usr/sbin
postfix: dict_update: daemon_directory = /usr/libexec/postfix
postfix: dict_update: mail_owner = postfix
postfix: dict_update: unknown_local_recipient_reject_code = 550
postfix: dict_update: debug_peer_level = 2
postfix: dict_update: debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin? xxgdb $daemon_directory/$process_name $process_id & sleep 5
postfix: dict_update: sendmail_path = /usr/sbin/sendmail
postfix: dict_update: newaliases_path = /usr/bin/newaliases
postfix: dict_update: mailq_path = /usr/bin/mailq
postfix: dict_update: setgid_group = postdrop
postfix: dict_update: html_directory = no
postfix: dict_update: manpage_directory = /usr/share/man
postfix: dict_update: sample_directory = /usr/share/doc/postfix/examples
postfix: dict_update: readme_directory = /usr/share/doc/postfix
postfix: dict_update: inet_interfaces = all
postfix: dict_update: mynetworks_style = host
postfix: dict_update: mydomain_fallback = localhost
postfix: dict_update: mailbox_size_limit = 0
postfix: dict_update: smtpd_tls_key_file =
postfix: dict_update: myhostname = mail.techvernacular.com
postfix: dict_update: mailbox_transport = cyrus
postfix: dict_update: mydomain = techvernacular.com
postfix: dict_update: enable_server_options = yes
postfix: dict_update: smtp_principal = smtp/www.techvernacular.com@NS1.TECHVERNACULAR.COM
postfix: dict_update: virus_db_last_update = 2005-03-20 18:28:14 -0600
postfix: dict_update: mynetworks = 127.0.0.1/32,10.10.1.3/32
postfix: dict_update: smtpd_sasl_auth_enable = yes
postfix: dict_update: smtpd_use_pw_server = yes
postfix: dict_update: smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,permit
postfix: dict_update: smtpd_pw_server_security_options = login
postfix: dict_update: mydestination = $myhostname,localhost.$mydomain,techvernacular.com
postfix: dict_update: virtual_transport = virtual
postfix: dict_update: virtual_mailbox_domains =
postfix: dict_lookup: syslog_facility = (notfound)
postfix: dict_eval[1] mail
postfix: mac_parse: mail
postfix: dict_eval_action: type literal buf mail context mail_dict “” recursive
postfix: dict_eval[1] result mail
postfix: dict_update: syslog_facility = mail
postfix: dict_lookup: myhostname = mail.techvernacular.com
postfix: dict_eval[1] mail.techvernacular.com
postfix: mac_parse: mail.techvernacular.com
postfix: dict_eval_action: type literal buf mail.techvernacular.com context mail_dict “mail” recursive
postfix: dict_eval[1] result mail.techvernacular.com
postfix: dict_lookup: mydomain = techvernacular.com
postfix: dict_eval[1] techvernacular.com
postfix: mac_parse: techvernacular.com
postfix: dict_eval_action: type literal buf techvernacular.com context mail_dict “mail.techvernacular.com” recursive
postfix: dict_eval[1] result techvernacular.com
postfix: dict_lookup: mydomain_fallback = localhost
postfix: dict_eval[1] localhost
postfix: mac_parse: localhost
postfix: dict_eval_action: type literal buf localhost context mail_dict “techvernacular.com” recursive
postfix: dict_eval[1] result localhost
postfix: dict_lookup: mail_name = (notfound)
postfix: dict_eval[1] Postfix
postfix: mac_parse: Postfix
postfix: dict_eval_action: type literal buf Postfix context mail_dict “localhost” recursive
postfix: dict_eval[1] result Postfix
postfix: dict_update: mail_name = Postfix
postfix: dict_lookup: syslog_name = (notfound)
postfix: dict_eval[1] postfix
postfix: mac_parse: postfix
postfix: dict_eval_action: type literal buf postfix context mail_dict “Postfix” recursive
postfix: dict_eval[1] result postfix
postfix: dict_update: syslog_name = postfix
postfix: dict_lookup: mail_owner = postfix
postfix: dict_eval[1] postfix
postfix: mac_parse: postfix
postfix: dict_eval_action: type literal buf postfix context mail_dict “postfix” recursive
postfix: dict_eval[1] result postfix
postfix: dict_lookup: setgid_group = postdrop
postfix: dict_eval[1] postdrop
postfix: mac_parse: postdrop
postfix: dict_eval_action: type literal buf postdrop context mail_dict “postfix” recursive
postfix: dict_eval[1] result postdrop
postfix: dict_lookup: mydestination = $myhostname,localhost.$mydomain,techvernacular.com
postfix: dict_eval[1] $myhostname,localhost.$mydomain,techvernacular.com
postfix: mac_parse: $myhostname,localhost.$mydomain,techvernacular.com
postfix: dict_eval_action: type variable buf myhostname context mail_dict “postdrop” recursive
postfix: dict_lookup: myhostname = mail.techvernacular.com
postfix: dict_eval[2] mail.techvernacular.com
postfix: mac_parse: mail.techvernacular.com
postfix: dict_eval_action: type literal buf mail.techvernacular.com context mail_dict “postdrop” recursive
postfix: dict_eval[2] result mail.techvernacular.com
postfix: dict_eval_action: type literal buf ,localhost. context mail_dict “mail.techvernacular.com” recursive
postfix: dict_eval_action: type variable buf mydomain context mail_dict “mail.techvernacular.com,localhost.” recursive
postfix: dict_lookup: mydomain = techvernacular.com
postfix: dict_eval[2] techvernacular.com
postfix: mac_parse: techvernacular.com
postfix: dict_eval_action: type literal buf techvernacular.com context mail_dict “mail.techvernacular.com,localhost.” recursive
postfix: dict_eval[2] result mail.techvernacular.com,localhost.techvernacular.com
postfix: dict_eval_action: type literal buf ,techvernacular.com context mail_dict “mail.techvernacular.com,localhost.techvernacular.com” recursive
postfix: dict_eval[1] result mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: dict_lookup: myorigin = (notfound)
postfix: dict_eval[1] $myhostname
postfix: mac_parse: $myhostname
postfix: dict_eval_action: type variable buf myhostname context mail_dict “mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com” recursive
postfix: dict_lookup: myhostname = mail.techvernacular.com
postfix: dict_eval[2] mail.techvernacular.com
postfix: mac_parse: mail.techvernacular.com
postfix: dict_eval_action: type literal buf mail.techvernacular.com context mail_dict “mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com” recursive
postfix: dict_eval[2] result mail.techvernacular.com
postfix: dict_eval[1] result mail.techvernacular.com
postfix: dict_update: myorigin = mail.techvernacular.com
postfix: dict_lookup: relayhost = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result mail.techvernacular.com
postfix: dict_update: relayhost =
postfix: dict_lookup: daemon_directory = /usr/libexec/postfix
postfix: dict_eval[1] /usr/libexec/postfix
postfix: mac_parse: /usr/libexec/postfix
postfix: dict_eval_action: type literal buf /usr/libexec/postfix context mail_dict “” recursive
postfix: dict_eval[1] result /usr/libexec/postfix
postfix: dict_lookup: command_directory = /usr/sbin
postfix: dict_eval[1] /usr/sbin
postfix: mac_parse: /usr/sbin
postfix: dict_eval_action: type literal buf /usr/sbin context mail_dict “/usr/libexec/postfix” recursive
postfix: dict_eval[1] result /usr/sbin
postfix: dict_lookup: queue_directory = /private/var/spool/postfix
postfix: dict_eval[1] /private/var/spool/postfix
postfix: mac_parse: /private/var/spool/postfix
postfix: dict_eval_action: type literal buf /private/var/spool/postfix context mail_dict “/usr/sbin” recursive
postfix: dict_eval[1] result /private/var/spool/postfix
postfix: dict_lookup: process_id_directory = (notfound)
postfix: dict_eval[1] pid
postfix: mac_parse: pid
postfix: dict_eval_action: type literal buf pid context mail_dict “/private/var/spool/postfix” recursive
postfix: dict_eval[1] result pid
postfix: dict_update: process_id_directory = pid
postfix: dict_lookup: inet_interfaces = all
postfix: dict_eval[1] all
postfix: mac_parse: all
postfix: dict_eval_action: type literal buf all context mail_dict “pid” recursive
postfix: dict_eval[1] result all
postfix: dict_lookup: proxy_interfaces = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result all
postfix: dict_update: proxy_interfaces =
postfix: dict_lookup: double_bounce_sender = (notfound)
postfix: dict_eval[1] double-bounce
postfix: mac_parse: double-bounce
postfix: dict_eval_action: type literal buf double-bounce context mail_dict “” recursive
postfix: dict_eval[1] result double-bounce
postfix: dict_update: double_bounce_sender = double-bounce
postfix: dict_lookup: default_privs = (notfound)
postfix: dict_eval[1] nobody
postfix: mac_parse: nobody
postfix: dict_eval_action: type literal buf nobody context mail_dict “double-bounce” recursive
postfix: dict_eval[1] result nobody
postfix: dict_update: default_privs = nobody
postfix: dict_lookup: alias_database = (notfound)
postfix: dict_eval[1] hash:/etc/aliases
postfix: mac_parse: hash:/etc/aliases
postfix: dict_eval_action: type literal buf hash:/etc/aliases context mail_dict “nobody” recursive
postfix: dict_eval[1] result hash:/etc/aliases
postfix: dict_update: alias_database = hash:/etc/aliases
postfix: dict_lookup: mail_release_date = (notfound)
postfix: dict_eval[1] 20040915
postfix: mac_parse: 20040915
postfix: dict_eval_action: type literal buf 20040915 context mail_dict “hash:/etc/aliases” recursive
postfix: dict_eval[1] result 20040915
postfix: dict_update: mail_release_date = 20040915
postfix: dict_lookup: mail_version = (notfound)
postfix: dict_eval[1] 2.1.5
postfix: mac_parse: 2.1.5
postfix: dict_eval_action: type literal buf 2.1.5 context mail_dict “20040915” recursive
postfix: dict_eval[1] result 2.1.5
postfix: dict_update: mail_version = 2.1.5
postfix: dict_lookup: default_database_type = (notfound)
postfix: dict_eval[1] hash
postfix: mac_parse: hash
postfix: dict_eval_action: type literal buf hash context mail_dict “2.1.5” recursive
postfix: dict_eval[1] result hash
postfix: dict_update: default_database_type = hash
postfix: dict_lookup: hash_queue_names = (notfound)
postfix: dict_eval[1] incoming, active, deferred, bounce, defer, flush, hold, trace
postfix: mac_parse: incoming, active, deferred, bounce, defer, flush, hold, trace
postfix: dict_eval_action: type literal buf incoming, active, deferred, bounce, defer, flush, hold, trace context mail_dict “hash” recursive
postfix: dict_eval[1] result incoming, active, deferred, bounce, defer, flush, hold, trace
postfix: dict_update: hash_queue_names = incoming, active, deferred, bounce, defer, flush, hold, trace
postfix: dict_lookup: recipient_delimiter = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result incoming, active, deferred, bounce, defer, flush, hold, trace
postfix: dict_update: recipient_delimiter =
postfix: dict_lookup: relay_domains = (notfound)
postfix: dict_eval[1] $mydestination
postfix: mac_parse: $mydestination
postfix: dict_eval_action: type variable buf mydestination context mail_dict “” recursive
postfix: dict_lookup: mydestination = $myhostname,localhost.$mydomain,techvernacular.com
postfix: dict_eval[2] $myhostname,localhost.$mydomain,techvernacular.com
postfix: mac_parse: $myhostname,localhost.$mydomain,techvernacular.com
postfix: dict_eval_action: type variable buf myhostname context mail_dict “” recursive
postfix: dict_lookup: myhostname = mail.techvernacular.com
postfix: dict_eval[3] mail.techvernacular.com
postfix: mac_parse: mail.techvernacular.com
postfix: dict_eval_action: type literal buf mail.techvernacular.com context mail_dict “” recursive
postfix: dict_eval[3] result mail.techvernacular.com
postfix: dict_eval_action: type literal buf ,localhost. context mail_dict “mail.techvernacular.com” recursive
postfix: dict_eval_action: type variable buf mydomain context mail_dict “mail.techvernacular.com,localhost.” recursive
postfix: dict_lookup: mydomain = techvernacular.com
postfix: dict_eval[3] techvernacular.com
postfix: mac_parse: techvernacular.com
postfix: dict_eval_action: type literal buf techvernacular.com context mail_dict “mail.techvernacular.com,localhost.” recursive
postfix: dict_eval[3] result mail.techvernacular.com,localhost.techvernacular.com
postfix: dict_eval_action: type literal buf ,techvernacular.com context mail_dict “mail.techvernacular.com,localhost.techvernacular.com” recursive
postfix: dict_eval[2] result mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: dict_eval[1] result mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: dict_update: relay_domains = mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: dict_lookup: fast_flush_domains = (notfound)
postfix: dict_eval[1] $relay_domains
postfix: mac_parse: $relay_domains
postfix: dict_eval_action: type variable buf relay_domains context mail_dict “mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com” recursive
postfix: dict_lookup: relay_domains = mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: dict_eval[2] mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: mac_parse: mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: dict_eval_action: type literal buf mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com context mail_dict “mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com” recursive
postfix: dict_eval[2] result mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: dict_eval[1] result mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: dict_update: fast_flush_domains = mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com
postfix: dict_lookup: export_environment = (notfound)
postfix: dict_eval[1] TZ MAIL_CONFIG
postfix: mac_parse: TZ MAIL_CONFIG
postfix: dict_eval_action: type literal buf TZ MAIL_CONFIG context mail_dict “mail.techvernacular.com,localhost.techvernacular.com,techvernacular.com” recursive
postfix: dict_eval[1] result TZ MAIL_CONFIG
postfix: dict_update: export_environment = TZ MAIL_CONFIG
postfix: dict_lookup: import_environment = (notfound)
postfix: dict_eval[1] MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY
postfix: mac_parse: MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY
postfix: dict_eval_action: type literal buf MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY context mail_dict “TZ MAIL_CONFIG” recursive
postfix: dict_eval[1] result MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY
postfix: dict_update: import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY
postfix: dict_lookup: mynetworks_style = host
postfix: dict_eval[1] host
postfix: mac_parse: host
postfix: dict_eval_action: type literal buf host context mail_dict “MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY” recursive
postfix: dict_eval[1] result host
postfix: dict_lookup: debug_peer_list = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result host
postfix: dict_update: debug_peer_list =
postfix: dict_lookup: default_verp_delimiters = (notfound)
postfix: dict_eval[1] +=
postfix: mac_parse: +=
postfix: dict_eval_action: type literal buf += context mail_dict “” recursive
postfix: dict_eval[1] result +=
postfix: dict_update: default_verp_delimiters = +=
postfix: dict_lookup: verp_delimiter_filter = (notfound)
postfix: dict_eval[1] -=+
postfix: mac_parse: -=+
postfix: dict_eval_action: type literal buf -=+ context mail_dict “+=” recursive
postfix: dict_eval[1] result -=+
postfix: dict_update: verp_delimiter_filter = -=+
postfix: dict_lookup: parent_domain_matches_subdomains = (notfound)
postfix: dict_eval[1] debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps
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_action: type literal buf debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps context mail_dict “-=+” recursive
postfix: dict_eval[1] result 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: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps
postfix: dict_update: alternate_config_directories =
postfix: dict_lookup: bounce_service_name = (notfound)
postfix: dict_eval[1] bounce
postfix: mac_parse: bounce
postfix: dict_eval_action: type literal buf bounce context mail_dict “” recursive
postfix: dict_eval[1] result bounce
postfix: dict_update: bounce_service_name = bounce
postfix: dict_lookup: cleanup_service_name = (notfound)
postfix: dict_eval[1] cleanup
postfix: mac_parse: cleanup
postfix: dict_eval_action: type literal buf cleanup context mail_dict “bounce” recursive
postfix: dict_eval[1] result cleanup
postfix: dict_update: cleanup_service_name = cleanup
postfix: dict_lookup: defer_service_name = (notfound)
postfix: dict_eval[1] defer
postfix: mac_parse: defer
postfix: dict_eval_action: type literal buf defer context mail_dict “cleanup” recursive
postfix: dict_eval[1] result defer
postfix: dict_update: defer_service_name = defer
postfix: dict_lookup: pickup_service_name = (notfound)
postfix: dict_eval[1] pickup
postfix: mac_parse: pickup
postfix: dict_eval_action: type literal buf pickup context mail_dict “defer” recursive
postfix: dict_eval[1] result pickup
postfix: dict_update: pickup_service_name = pickup
postfix: dict_lookup: queue_service_name = (notfound)
postfix: dict_eval[1] qmgr
postfix: mac_parse: qmgr
postfix: dict_eval_action: type literal buf qmgr context mail_dict “pickup” recursive
postfix: dict_eval[1] result qmgr
postfix: dict_update: queue_service_name = qmgr
postfix: dict_lookup: rewrite_service_name = (notfound)
postfix: dict_eval[1] rewrite
postfix: mac_parse: rewrite
postfix: dict_eval_action: type literal buf rewrite context mail_dict “qmgr” recursive
postfix: dict_eval[1] result rewrite
postfix: dict_update: rewrite_service_name = rewrite
postfix: dict_lookup: showq_service_name = (notfound)
postfix: dict_eval[1] showq
postfix: mac_parse: showq
postfix: dict_eval_action: type literal buf showq context mail_dict “rewrite” recursive
postfix: dict_eval[1] result showq
postfix: dict_update: showq_service_name = showq
postfix: dict_lookup: error_service_name = (notfound)
postfix: dict_eval[1] error
postfix: mac_parse: error
postfix: dict_eval_action: type literal buf error context mail_dict “showq” recursive
postfix: dict_eval[1] result error
postfix: dict_update: error_service_name = error
postfix: dict_lookup: flush_service_name = (notfound)
postfix: dict_eval[1] flush
postfix: mac_parse: flush
postfix: dict_eval_action: type literal buf flush context mail_dict “error” recursive
postfix: dict_eval[1] result flush
postfix: dict_update: flush_service_name = flush
postfix: dict_lookup: address_verify_service_name = (notfound)
postfix: dict_eval[1] verify
postfix: mac_parse: verify
postfix: dict_eval_action: type literal buf verify context mail_dict “flush” recursive
postfix: dict_eval[1] result verify
postfix: dict_update: address_verify_service_name = verify
postfix: dict_lookup: trace_service_name = (notfound)
postfix: dict_eval[1] trace
postfix: mac_parse: trace
postfix: dict_eval_action: type literal buf trace context mail_dict “verify” recursive
postfix: dict_eval[1] result trace
postfix: dict_update: trace_service_name = trace
postfix: dict_lookup: tls_random_exchange_name = (notfound)
postfix: dict_eval[1] ${config_directory}/prng_exch
postfix: mac_parse: ${config_directory}/prng_exch
postfix: dict_eval_action: type variable buf config_directory context mail_dict “trace” recursive
postfix: dict_lookup: config_directory = /etc/postfix
postfix: dict_eval[2] /etc/postfix
postfix: mac_parse: /etc/postfix
postfix: dict_eval_action: type literal buf /etc/postfix context mail_dict “trace” recursive
postfix: dict_eval[2] result /etc/postfix
postfix: dict_eval_action: type literal buf /prng_exch context mail_dict “/etc/postfix” recursive
postfix: dict_eval[1] result /etc/postfix/prng_exch
postfix: dict_update: tls_random_exchange_name = /etc/postfix/prng_exch
postfix: dict_lookup: smtpd_tls_cert_file = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result /etc/postfix/prng_exch
postfix: dict_update: smtpd_tls_cert_file =
postfix: dict_lookup: smtpd_tls_key_file =
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_lookup: smtpd_tls_dcert_file = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtpd_tls_dcert_file =
postfix: dict_lookup: smtpd_tls_dkey_file = (notfound)
postfix: dict_eval[1] $smtpd_tls_dcert_file
postfix: mac_parse: $smtpd_tls_dcert_file
postfix: dict_eval_action: type variable buf smtpd_tls_dcert_file context mail_dict “” recursive
postfix: dict_lookup: smtpd_tls_dcert_file =
postfix: dict_eval[2]
postfix: mac_parse:
postfix: dict_eval[2] result
postfix: dict_eval[1] result
postfix: dict_update: smtpd_tls_dkey_file =
postfix: dict_lookup: smtpd_tls_CAfile = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtpd_tls_CAfile =
postfix: dict_lookup: smtpd_tls_CApath = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtpd_tls_CApath =
postfix: dict_lookup: smtpd_tls_cipherlist = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtpd_tls_cipherlist =
postfix: dict_lookup: smtpd_tls_dh512_param_file = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtpd_tls_dh512_param_file =
postfix: dict_lookup: smtpd_tls_dh1024_param_file = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtpd_tls_dh1024_param_file =
postfix: dict_lookup: smtpd_tls_session_cache_database = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtpd_tls_session_cache_database =
postfix: dict_lookup: smtp_tls_cert_file = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtp_tls_cert_file =
postfix: dict_lookup: smtp_tls_key_file = (notfound)
postfix: dict_eval[1] $smtp_tls_cert_file
postfix: mac_parse: $smtp_tls_cert_file
postfix: dict_eval_action: type variable buf smtp_tls_cert_file context mail_dict “” recursive
postfix: dict_lookup: smtp_tls_cert_file =
postfix: dict_eval[2]
postfix: mac_parse:
postfix: dict_eval[2] result
postfix: dict_eval[1] result
postfix: dict_update: smtp_tls_key_file =
postfix: dict_lookup: smtp_tls_dcert_file = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtp_tls_dcert_file =
postfix: dict_lookup: smtp_tls_dkey_file = (notfound)
postfix: dict_eval[1] $smtp_tls_dcert_file
postfix: mac_parse: $smtp_tls_dcert_file
postfix: dict_eval_action: type variable buf smtp_tls_dcert_file context mail_dict “” recursive
postfix: dict_lookup: smtp_tls_dcert_file =
postfix: dict_eval[2]
postfix: mac_parse:
postfix: dict_eval[2] result
postfix: dict_eval[1] result
postfix: dict_update: smtp_tls_dkey_file =
postfix: dict_lookup: smtp_tls_CAfile = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtp_tls_CAfile =
postfix: dict_lookup: smtp_tls_CApath = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtp_tls_CApath =
postfix: dict_lookup: smtp_tls_cipherlist = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtp_tls_cipherlist =
postfix: dict_lookup: smtp_tls_session_cache_database = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: smtp_tls_session_cache_database =
postfix: dict_lookup: tls_daemon_random_source = (notfound)
postfix: dict_eval[1]
postfix: mac_parse:
postfix: dict_eval[1] result
postfix: dict_update: tls_daemon_random_source =
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: message_size_limit = (notfound)
postfix: dict_update: message_size_limit = 10240000
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: dict_eval[1] 2
postfix: mac_parse: 2
postfix: dict_eval_action: type literal buf 2 context mail_dict “” recursive
postfix: dict_eval[1] result 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: smtpd_tls_loglevel = (notfound)
postfix: dict_update: smtpd_tls_loglevel = 0
postfix: dict_lookup: smtp_tls_loglevel = (notfound)
postfix: dict_update: smtp_tls_loglevel = 0
postfix: dict_lookup: tls_daemon_random_bytes = (notfound)
postfix: dict_update: tls_daemon_random_bytes = 32
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: enable_server_options = yes
postfix: dict_eval[1] yes
postfix: mac_parse: yes
postfix: dict_eval_action: type literal buf yes context mail_dict “2” recursive
postfix: dict_eval[1] result yes
postfix: dict_eval[1] 100s
postfix: mac_parse: 100s
postfix: dict_eval_action: type literal buf 100s context mail_dict “yes” recursive
postfix: dict_eval[1] result 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: dict_eval[1] 100s
postfix: mac_parse: 100s
postfix: dict_eval_action: type literal buf 100s context mail_dict “100s” recursive
postfix: dict_eval[1] result 100s
postfix: dict_eval[1] 100s
postfix: mac_parse: 100s
postfix: dict_eval_action: type literal buf 100s context mail_dict “100s” recursive
postfix: dict_eval[1] result 100s
postfix: dict_lookup: max_idle = (notfound)
postfix: dict_update: max_idle = 100s
postfix: dict_lookup: max_idle = 100s
postfix: dict_eval[1] 100s
postfix: mac_parse: 100s
postfix: dict_eval_action: type literal buf 100s context mail_dict “100s” recursive
postfix: dict_eval[1] result 100s
postfix: dict_eval[1] 3600s
postfix: mac_parse: 3600s
postfix: dict_eval_action: type literal buf 3600s context mail_dict “100s” recursive
postfix: dict_eval[1] result 3600s
postfix: dict_lookup: ipc_timeout = (notfound)
postfix: dict_update: ipc_timeout = 3600s
postfix: dict_lookup: ipc_timeout = 3600s
postfix: dict_eval[1] 3600s
postfix: mac_parse: 3600s
postfix: dict_eval_action: type literal buf 3600s context mail_dict “3600s” recursive
postfix: dict_eval[1] result 3600s
postfix: dict_eval[1] 100s
postfix: mac_parse: 100s
postfix: dict_eval_action: type literal buf 100s context mail_dict “3600s” recursive
postfix: dict_eval[1] result 100s
postfix: dict_lookup: ipc_idle = (notfound)
postfix: dict_update: ipc_idle = 100s
postfix: dict_lookup: ipc_idle = 100s
postfix: dict_eval[1] 100s
postfix: mac_parse: 100s
postfix: dict_eval_action: type literal buf 100s context mail_dict “100s” recursive
postfix: dict_eval[1] result 100s
postfix: dict_eval[1] 1000s
postfix: mac_parse: 1000s
postfix: dict_eval_action: type literal buf 1000s context mail_dict “100s” recursive
postfix: dict_eval[1] result 1000s
postfix: dict_lookup: ipc_ttl = (notfound)
postfix: dict_update: ipc_ttl = 1000s
postfix: dict_lookup: ipc_ttl = 1000s
postfix: dict_eval[1] 1000s
postfix: mac_parse: 1000s
postfix: dict_eval_action: type literal buf 1000s context mail_dict “1000s” recursive
postfix: dict_eval[1] result 1000s
postfix: dict_eval[1] 10s
postfix: mac_parse: 10s
postfix: dict_eval_action: type literal buf 10s context mail_dict “1000s” recursive
postfix: dict_eval[1] result 10s
postfix: dict_lookup: trigger_timeout = (notfound)
postfix: dict_update: trigger_timeout = 10s
postfix: dict_lookup: trigger_timeout = 10s
postfix: dict_eval[1] 10s
postfix: mac_parse: 10s
postfix: dict_eval_action: type literal buf 10s context mail_dict “10s” recursive
postfix: dict_eval[1] result 10s
postfix: dict_eval[1] 1s
postfix: mac_parse: 1s
postfix: dict_eval_action: type literal buf 1s context mail_dict “10s” recursive
postfix: dict_eval[1] result 1s
postfix: dict_lookup: fork_delay = (notfound)
postfix: dict_update: fork_delay = 1s
postfix: dict_lookup: fork_delay = 1s
postfix: dict_eval[1] 1s
postfix: mac_parse: 1s
postfix: dict_eval_action: type literal buf 1s context mail_dict “1s” recursive
postfix: dict_eval[1] result 1s
postfix: dict_eval[1] 1s
postfix: mac_parse: 1s
postfix: dict_eval_action: type literal buf 1s context mail_dict “1s” recursive
postfix: dict_eval[1] result 1s
postfix: dict_lookup: deliver_lock_delay = (notfound)
postfix: dict_update: deliver_lock_delay = 1s
postfix: dict_lookup: deliver_lock_delay = 1s
postfix: dict_eval[1] 1s
postfix: mac_parse: 1s
postfix: dict_eval_action: type literal buf 1s context mail_dict “1s” recursive
postfix: dict_eval[1] result 1s
postfix: dict_eval[1] 500s
postfix: mac_parse: 500s
postfix: dict_eval_action: type literal buf 500s context mail_dict “1s” recursive
postfix: dict_eval[1] result 500s
postfix: dict_lookup: stale_lock_time = (notfound)
postfix: dict_update: stale_lock_time = 500s
postfix: dict_lookup: stale_lock_time = 500s
postfix: dict_eval[1] 500s
postfix: mac_parse: 500s
postfix: dict_eval_action: type literal buf 500s context mail_dict “500s” recursive
postfix: dict_eval[1] result 500s
postfix: dict_eval[1] 3600s
postfix: mac_parse: 3600s
postfix: dict_eval_action: type literal buf 3600s context mail_dict “500s” recursive
postfix: dict_eval[1] result 3600s
postfix: dict_lookup: smtpd_tls_session_cache_timeout = (notfound)
postfix: dict_update: smtpd_tls_session_cache_timeout = 3600s
postfix: dict_lookup: smtpd_tls_session_cache_timeout = 3600s
postfix: dict_eval[1] 3600s
postfix: mac_parse: 3600s
postfix: dict_eval_action: type literal buf 3600s context mail_dict “3600s” recursive
postfix: dict_eval[1] result 3600s
postfix: dict_eval[1] 3600s
postfix: mac_parse: 3600s
postfix: dict_eval_action: type literal buf 3600s context mail_dict “3600s” recursive
postfix: dict_eval[1] result 3600s
postfix: dict_lookup: smtp_tls_session_cache_timeout = (notfound)
postfix: dict_update: smtp_tls_session_cache_timeout = 3600s
postfix: dict_lookup: smtp_tls_session_cache_timeout = 3600s
postfix: dict_eval[1] 3600s
postfix: mac_parse: 3600s
postfix: dict_eval_action: type literal buf 3600s context mail_dict “3600s” recursive
postfix: dict_eval[1] result 3600s
postfix: dict_eval[1] 18000s
postfix: mac_parse: 18000s
postfix: dict_eval_action: type literal buf 18000s context mail_dict “3600s” recursive
postfix: dict_eval[1] result 18000s
postfix: dict_lookup: daemon_timeout = (notfound)
postfix: dict_update: daemon_timeout = 18000s
postfix: dict_lookup: daemon_timeout = 18000s
postfix: dict_eval[1] 18000s
postfix: mac_parse: 18000s
postfix: dict_eval_action: type literal buf 18000s context mail_dict “18000s” recursive
postfix: dict_eval[1] result 18000s
postfix: dict_eval[1] 1s
postfix: mac_parse: 1s
postfix: dict_eval_action: type literal buf 1s context mail_dict “18000s” recursive
postfix: dict_eval[1] result 1s
postfix: dict_lookup: in_flow_delay = (notfound)
postfix: dict_update: in_flow_delay = 1s
postfix: dict_lookup: in_flow_delay = 1s
postfix: dict_eval[1] 1s
postfix: mac_parse: 1s
postfix: dict_eval_action: type literal buf 1s context mail_dict “1s” recursive
postfix: dict_eval[1] result 1s
postfix: dict_lookup: mynetworks = 127.0.0.1/32,10.10.1.3/32
postfix: dict_eval[1] 127.0.0.1/32,10.10.1.3/32
postfix: mac_parse: 127.0.0.1/32,10.10.1.3/32
postfix: dict_eval_action: type literal buf 127.0.0.1/32,10.10.1.3/32 context mail_dict “1s” recursive
postfix: dict_eval[1] result 127.0.0.1/32,10.10.1.3/32
postfix: dict_update: process_id = 1104
postfix: dict_lookup: sendmail_path = /usr/sbin/sendmail
postfix: dict_eval[1] /usr/sbin/sendmail
postfix: mac_parse: /usr/sbin/sendmail
postfix: dict_eval_action: type literal buf /usr/sbin/sendmail context mail_dict “127.0.0.1/32,10.10.1.3/32” recursive
postfix: dict_eval[1] result /usr/sbin/sendmail
postfix: dict_lookup: mailq_path = /usr/bin/mailq
postfix: dict_eval[1] /usr/bin/mailq
postfix: mac_parse: /usr/bin/mailq
postfix: dict_eval_action: type literal buf /usr/bin/mailq context mail_dict “/usr/sbin/sendmail” recursive
postfix: dict_eval[1] result /usr/bin/mailq
postfix: dict_lookup: newaliases_path = /usr/bin/newaliases
postfix: dict_eval[1] /usr/bin/newaliases
postfix: mac_parse: /usr/bin/newaliases
postfix: dict_eval_action: type literal buf /usr/bin/newaliases context mail_dict “/usr/bin/mailq” recursive
postfix: dict_eval[1] result /usr/bin/newaliases
postfix: dict_lookup: manpage_directory = /usr/share/man
postfix: dict_eval[1] /usr/share/man
postfix: mac_parse: /usr/share/man
postfix: dict_eval_action: type literal buf /usr/share/man context mail_dict “/usr/bin/newaliases” recursive
postfix: dict_eval[1] result /usr/share/man
postfix: dict_lookup: sample_directory = /usr/share/doc/postfix/examples
postfix: dict_eval[1] /usr/share/doc/postfix/examples
postfix: mac_parse: /usr/share/doc/postfix/examples
postfix: dict_eval_action: type literal buf /usr/share/doc/postfix/examples context mail_dict “/usr/share/man” recursive
postfix: dict_eval[1] result /usr/share/doc/postfix/examples
postfix: dict_lookup: readme_directory = /usr/share/doc/postfix
postfix: dict_eval[1] /usr/share/doc/postfix
postfix: mac_parse: /usr/share/doc/postfix
postfix: dict_eval_action: type literal buf /usr/share/doc/postfix context mail_dict “/usr/share/doc/postfix/examples” recursive
postfix: dict_eval[1] result /usr/share/doc/postfix
postfix: dict_lookup: html_directory = no
postfix: dict_eval[1] no
postfix: mac_parse: no
postfix: dict_eval_action: type literal buf no context mail_dict “/usr/share/doc/postfix” recursive
postfix: dict_eval[1] result no
postfix/postfix-script: fatal: usage: postfix start (or stop, reload, abort, flush, check, set-permissions, upgrade-configuration)And here are the results of a postconf -n
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
enable_server_options = yes
html_directory = no
inet_interfaces = all
mail_owner = postfix
mailbox_size_limit = 0
mailbox_transport = cyrus
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
mydestination = $myhostname,localhost.$mydomain,techvernacular.com
mydomain = techvernacular.com
mydomain_fallback = localhost
myhostname = mail.techvernacular.com
mynetworks = 127.0.0.1/32,10.10.1.3/32
mynetworks_style = host
newaliases_path = /usr/bin/newaliases
queue_directory = /private/var/spool/postfix
readme_directory = /usr/share/doc/postfix
sample_directory = /usr/share/doc/postfix/examples
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_pw_server_security_options = login
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,permit
smtpd_sasl_auth_enable = yes
smtpd_tls_key_file =
smtpd_use_pw_server = yes
unknown_local_recipient_reject_code = 550
virtual_mailbox_domains =
virtual_transport = virtualAgain, if I email someone@techvernacular.com to anyone@techvernacular.com, there is no problem. But, if I attempt someone@foo.com to anyone@techvernacular.com, I get the error bounced back to me.
Can someone please take a look at this and offer some assistance? I’ll send chocolate or booze, your choice. (Send ID if you opt for booze!)
Evidently, I can’t send outside my domain either. I tried that this evening (don’t know why I hadn’t thought to capture the logs for this previously)
This first part is the SMTP log for a message that is supposed to go outside my domain; it doesn’t.
Feb 25 00:09:20 ns1 postfix/smtpd[1988]: 3B1694290A: client=unknown[10.10.1.211], sasl_method=LOGIN, sasl_username=drew
Feb 25 00:09:20 ns1 postfix/cleanup[1991]: 3B1694290A: message-id=<5A36D05A-402C-414F-A931-1E4E3EA66C24@techvernacular.com>
Feb 25 00:09:20 ns1 postfix/qmgr[1911]: 3B1694290A: from=, size=542, nrcpt=1 (queue active)
Feb 25 00:09:50 ns1 postfix/smtp[1992]: connect to mail.drewlane.net[64.176.124.149]: Operation timed out (port 25)
Feb 25 00:09:50 ns1 postfix/smtp[1992]: 3B1694290A: to=, relay=none, delay=30, status=deferred (connect to mail.drewlane.net[64.176.124.149]: Operation timed out)
Feb 25 00:10:20 ns1 postfix/smtpd[1988]: disconnect from unknown[10.10.1.211]Now, here’s a message that stays within the domain and is sent/received as expected.
Feb 25 00:11:11 ns1 postfix/smtpd[1988]: connect from unknown[10.10.1.211]
Feb 25 00:11:11 ns1 postfix/smtpd[1988]: E585B42923: client=unknown[10.10.1.211], sasl_method=LOGIN, sasl_username=drew
Feb 25 00:11:11 ns1 postfix/cleanup[2014]: E585B42923: message-id=<6FD122C8-0A5C-4019-BAD3-5F587553DFC2@techvernacular.com>
Feb 25 00:11:11 ns1 postfix/qmgr[1911]: E585B42923: from=, size=554, nrcpt=1 (queue active)
Feb 25 00:11:12 ns1 postfix/pipe[2016]: E585B42923: to=, relay=cyrus, delay=1, status=sent (mail.techvernacular.com)
Feb 25 00:11:12 ns1 postfix/qmgr[1911]: E585B42923: removedI’m no whiz at reading logs, but why in the sam hell do I get “relay=none” on transport outside my domain and “relay=cyrus” for transport within my domain?
February 27, 2007 at 9:35 pm #368409k12techman
ParticipantDad always said to check the simple stuff first. If the car won’t start, is there gas in it?…….
I was dealing with two issues that were not a configuration problem on the server. As a matter of fact, the server was/is configured correctly.
1st Problem: Piece of Warthog-booger Home Router – My router, while implying that it was performing port forwarding was, in fact, NOT. Used a tool at DynDNS to check open ports from the outside. POP, IMAP and SMTP ports were closed. They were open from the inside, but not the outside. Opened them and magically, mail delivery was working for incoming messages. Outgoing was still a problem.
2nd Problem: SBC/AT&T (a.k.a. 666) Blocks Port 25 by Default – Called them and told them I needed port 25 unblocked. They did it! I know, I couldn’t believe it either.
Lo and behold, with all the necessary ports open, mail works.
On a side note, I did learn that you can force OS X Server to authenticate to an outgoing SMTP relay. While my ISP was kind enough to open Port 25, they did say it might not stay open when my IP changes. How nice. So, I purchased 300 daily outgoing relays from DynDNS for $20. Problem was, I had to find a way to get the server to authenticate with my credentials to their secure relay server.
These instructions assume the postfix config files live in /etc/postfix.
1. In /etc/postfix/main.cf add the lines:
relayhost = desired.relay.xyz
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=Optionally, also add the lines:
smtp_use_tls = yes
smtp_tls_CAfile = /etc/postfix/cert.pem
smtp_tls_session_cache_database = btree:/var/run/smtp_tls_session_cacheto enable SSL/TLS when sending outgoing mail. Note that the path info in the second command may be different depending on your system and where you have installed your certificates. The last line may be omitted, but should help reduce CPU cycles verifying the certificate chain when sending outgoing E-Mail.
2. Create a file /etc/postfix/sasl_passwd with the contents:
desired.relay.xyz userid:password
where userid and password are your username and password for your relay service.
3. Next, change the ownership and permissions on the sasl_passwd file to protect it from unauthorized access.
chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd
4. Finally, create a database file from the contents of the sasl_passwd file:
postmap hash:/etc/postfix/sasl_passwd
5. OPTIONAL: If you wish to relay only specific domains you will need to do the following:
Remove the relayhost = desired.relay.xyz entry in main.cf, if one exists.
Add the following line to your main.cf file: transport_maps = hash:/etc/postfix/transport
Edit /etc/postfix/transport and update it with something similar to the following:
# Syntax: .domain transport:relay_host
# Specifies specific domains for local delivery
my.domain.com :# Specify all subdomains for local delivery
.my.domain :# Specify domains that need to be relayed through outbound.mailhop.org
aol.com relay:desired.relay.xyz
hotmail.com relay:desired.relay.xyzCreate a database file from the contents of the transport file: postmap hash:/etc/postfix/transport
6. Lastly, reload postfix: postfix reload
I’ve made these instructions generic, but have cabbaged them from here:
https://www.dyndns.com/support/kb/archives/mail_servers_and_mailhop_outbound.html#postfix (you need an account to see it….)
There’s a pretty good guide here, too: http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html
If you need public DNS, I would say you can’t go wrong with DynDNS. They have been supportive, their pricing is reasonable, and they have a cool name.
Postfix WILL do this as long as you don’t mind editing the main.cf file manually.
Now, I’m going out and buying myself chocolate AND booze…..
-
AuthorPosts
- You must be logged in to reply to this topic.