Postfix version 2.6.2 - How to Download and Install on Mac OS X
Saturday the 7th of November, 2009

    postfix  most recent diff


    version 2.6.2

      View the most recent changes for the postfix port at: postfix.darwinports.com/diff
      Scroll down toward the bottom of the page to get installation instructions for postfix.
      The raw portfile for postfix 2.6.2 is located here:
      http://postfix.darwinports.com/dports/mail/postfix/Portfile
      Find related portfiles with the unique DarwinPorts.com search feature.
      Check for any related Fink projects here: pdb.finkproject.org/pdb/package.php/postfix


      The postfix Portfile 59576 2009-10-17 09:51:44Z jmr macports.org $

      PortSystem 1.0

      Name: postfix
      Version: 2.6.2
      Category: mail
      Maintainers: nomaintainer
      Description: Fast and robust mail transfer agent
      Long Description: Postfix attempts to be fast, easy to administer, and secure, while at the same time being sendmail-compatible enough to not upset existing users. It also offers QMQP and VERP support to let Postfix act as delivery daemon for ezmlm-idx.
      Homepage: http://www.postfix.org/
      Platform: darwin
      Checksums: md5 1f0edbd521d2b0473626f4d61e8bb4eb sha1 a3b349df60bca947f3b94ff484b699d176777b4a rmd160 a86c829c3c17746986a0ea013674b6bec49d74ea

      Master Sites: http://www.swissrave.ch/mirror/postfix-source/official/ ftp://ftp.its.cz/MIRRORS/ftp.porcupine.org/mirrors/postfix-release/official/ ftp://ftp.club-internet.fr/pub/mirrors/ftp.porcupine.org/postfix-release/official/

      Patch Files: patch-sys_defs.h patch-mail_params.h patch-postfix-install

      post-patch {
      eval reinplace "s|/etc/|${prefix}/etc/|g" [glob ${worksrcpath}/man/man1/*] [glob ${worksrcpath}/man/man5/*] [glob ${worksrcpath}/man/man8/*]

      reinplace "s|__PREFIX|${prefix}|g" ${worksrcpath}/src/util/sys_defs.h
      reinplace "s|__PREFIX|${prefix}|g" ${worksrcpath}/src/global/mail_params.h

      reinplace "s|ls |/bin/ls |g" ${worksrcpath}/conf/postfix-script

      # Set main.cf default values
      reinplace "s|#default_privs|default_privs|g" ${worksrcpath}/conf/main.cf
      reinplace "s|/etc/postfix/network_table|${prefix}/etc/postfix/network_table|g" ${worksrcpath}/conf/main.cf
      reinplace "s|/etc/postfix/relay_recipients|${prefix}/etc/postfix_relay_recipients|g" ${worksrcpath}/conf/main.cf
      reinplace "s|/etc/postfix/header_checks|${prefix}/etc/postfix/header_checks|g" ${worksrcpath}/conf/main.cf
      reinplace "s|PATH=/bin:/usr/bin|PATH=${prefix}/bin:/bin:/usr/bin|g" ${worksrcpath}/conf/main.cf
      }

      set CCARGS -DNO_PCRE
      set AUXLIBS "-L${prefix}/lib -R${prefix}/lib -L${prefix}/lib"
      set pf_mail_owner "_postfix"
      set pf_setgid_group "_postdrop"

      # Beginning with Mac OS X 10.5, the user 'postfix' changed to '_postfix'
      platform darwin 8 {
      global pf_mail_owner
      global pf_setgid_group
      set pf_mail_owner "postfix"
      set pf_setgid_group "postdrop"
      }

      platform darwin 10 {
      patchfiles-append nameser8_compat.diff
      set AUXLIBS [concat ${AUXLIBS} -lresolv]
      }

      configure {
      system "cd ${worksrcpath} && make makefiles CCARGS=\"${CCARGS}\" AUXLIBS=\"${AUXLIBS}\""
      }

      build.target

      startupitem.create yes
      startupitem.start "${prefix}/sbin/${name} start"
      startupitem.stop "${prefix}/sbin/${name} stop"

      destroot {
      destroot.keepdirs ${destroot}${prefix}/var/spool/postfix/public ${destroot}${prefix}/var/spool/postfix/maildrop ${destroot}${prefix}/var/lib/postfix
      system "cd ${worksrcpath} && /bin/sh postfix-install -non-interactive install_root=${destroot} config_directory=${prefix}/etc/postfix queue_directory=${prefix}/var/spool/postfix command_directory=${prefix}/sbin daemon_directory=${prefix}/libexec/postfix data_directory=${prefix}/var/lib/postfix sendmail_path=${prefix}/sbin/sendmail newaliases_path=${prefix}/bin/newaliases mailq_path=${prefix}/bin/mailq etc_directory=${prefix}/etc/postfix share_directory=${prefix}/share/postfix manpage_directory=${prefix}/share/man sample_directory=${prefix}/share/postfix/sample readme_directory=${prefix}/share/postfix/readme mail_owner=${pf_mail_owner} setgid_group=${pf_setgid_group}"

      # This makes sure we don't overwrite user /etc files. This now breaks postfix
      # "just working" on fresh installs.
      # YOU MUST MOVE THE SAMPLE FILES TO THE CORRECT NAMESPACE.
      # XXX unsure if this still an issue 07/07/05 yeled

      file rename ${destroot}${prefix}/etc/postfix/main.cf ${destroot}${prefix}/etc/postfix/main.cf.sample
      file rename ${destroot}${prefix}/etc/postfix/master.cf ${destroot}${prefix}/etc/postfix/master.cf.sample
      file rename ${destroot}${prefix}/etc/postfix/aliases ${destroot}${prefix}/etc/postfix/aliases.sample
      }

      pre-install {
      system "chown ${pf_mail_owner} ${destroot}${prefix}/var/spool/postfix/public/.turd_postfix"
      }

      post-install {
      # Tell the user about renaming the sample configuration files.
      ui_msg "\n
      To get postfix working, you need to copy the sample configuration
      files and edit them (${prefix}/etc/postfix/*.sample). You may also
      want to turn off Apple's built-in MTA. For example, on 10.4:

      sudo launchctl unload -w /System/Library/LaunchDaemons/org.postfix.master.plist
      \n"
      }

      Variant: pcre description "add pcre support" {
      set CCARGS [ldelete ${CCARGS} -DNO_PCRE]
      set CCARGS [concat ${CCARGS} -DHAS_PCRE -I${prefix}/include]
      set AUXLIBS [concat ${AUXLIBS} -L${prefix}/lib -lpcre]
      depends_lib-append port:pcre
      }

      Variant: tls description "add tls support via openssl" {
      depends_lib-append port:openssl
      set CCARGS [concat ${CCARGS} -DUSE_TLS -DHAS_SSL -I${prefix}/include]
      set AUXLIBS [concat ${AUXLIBS} -lssl -lcrypto]
      }

      Variant: sasl description "add sasl support via cyrus-sasl2" {
      depends_lib-append port:cyrus-sasl2
      set CCARGS [concat ${CCARGS} -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I${prefix}/include/sasl]
      set AUXLIBS [concat ${AUXLIBS} -lsasl2]
      }

      Variant: ldap description "add ldap support via openldap" {
      depends_lib-append port:openldap
      set CCARGS [concat ${CCARGS} -DHAS_LDAP]
      set AUXLIBS [concat ${AUXLIBS} -lldap -llber]
      }

      Variant: mysql5 description "add mysql support via mysql5" {
      depends_lib-append path:bin/mysql_config5:mysql5
      set CCARGS [concat ${CCARGS} -DHAS_MYSQL -I${prefix}/include/mysql5/mysql]
      set AUXLIBS [concat ${AUXLIBS} -L${prefix}/lib/mysql5/mysql -lmysqlclient -lz -lm]
      }

      Variant: postgresql83 description "add postgresql support via postgresql83" {
      depends_lib-append port:postgresql83
      set CCARGS [concat ${CCARGS} -DHAS_PGSQL -I${prefix}/include/postgresql83]
      set AUXLIBS [concat ${AUXLIBS} -L${prefix}/lib/postgresql83 -lpq]
      }

      Variant: dovecot_sasl description "add Dovecot SASL support " {
      set CCARGS [concat ${CCARGS} -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\\\\"dovecot\\\\\\"]
      }

    If you haven't already installed Darwin Ports, you can find easy instructions for doing so at the main Darwin Ports page.

    Once Darwin Ports has been installed, in a terminal window and while online, type the following and hit return:


      %  cd /opt/local/bin/portslocation/dports/postfix
      % sudo port install postfix
      Password:
    You will then be prompted for your root password, which you should enter. You may have to wait for a few minutes while the software is retrieved from the network and installed for you. Y ou should see something that looks similar to:

      ---> Fetching postfix
      ---> Verifying checksum for postfix
      ---> Extracting postfix
      ---> Configuring postfix
      ---> Building postfix with target all
      ---> Staging postfix into destroot
      ---> Installing postfix
    - Make sure that you do not close the terminal window while Darwin Ports is working. Once the software has been installed, you can find further information about using postfix with these commands:
      %  man postfix
      % apropos postfix
      % which postfix
      % locate postfix

     Where to find more information:

    Darwin Ports



    Lightbox this page.