Postfix

  1. 概要

  2. Postfix インストールの前に、ホスト名 = abuna.net にしました。 変更は2箇所あります。

    手順 内容 備考
    1 webmin で [ネットワーク]-[ネットワーク設定]-[ホストアドレス] と辿って、「ホスト名 = abuna.net」と設定します。  
    2 webmin で [ネットワーク]-[ネットワーク設定]-[DNS クライアント] と辿って、「ホスト名 = abuna.net」と設定します。  

  3. インストール

    手順 内容 備考
    1 postfix をインストールします。
    # aptitude install postfix
    
    途中で exim4-xxxx を削除するか聞かれるかもしれませんが、この場合は [Y] を選択します。 メールサーバは1つのサーバに1個です。
    2 この画面が出たら<了解>します。
    単なる説明です。
    3 この画面が出たら [インターネットサイト] を選んで<了解>します。
    インターネット上のメールサーバを立ち上げているので、これしか選びようがないような。
    4 abuna.net メールサーバを立ち上げるので、この画面が出たら [abuna.net] を入力して<了解>します。
    しばらくして、インストールが終了します。

  4. Postfix の設定

    手順 内容 備考
    1 /etc/postfix/main.cf を以下のように設定します。
    smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
    biff = no
    
    # appending .domain is the MUA's job.
    append_dot_mydomain = no
    
    # Uncomment the next line to generate "delayed mail" warnings
    #delay_warning_time = 4h
    
    readme_directory = no
    
    # TLS parameters
    smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    smtpd_use_tls=yes
    smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
    
    #smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
    
    # for nice.kaze.com
    #myhostname = nice.kaze.com
    
    # for abuna.net
    myhostname = abuna.net
    
    # for test.com
    #myhostname = test.com
    
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    myorigin = $myhostname
    mydestination = $myhostname, localhost.$myhostname, localhost
    #relayhost = 
    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    mailbox_command = /usr/bin/procmail -a "$EXTENSION"
    home_mailbox = Maildir/
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    
    # SASL parameters
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    smtpd_sasl_auth_enable = yes
    smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
    
    # for CML driver
    allow_mail_to_commands = alias, forward, include
    
    # for nice.kaze.com / test.com
    #relayhost = 
    
    # for abuna.net
    relayhost = [xxx.ocn.ne.jp]
    
    赤文字が変更または追加部分です。

    赤太文字が nice.kaze.com / abuna.net / test.com で変更が必要な部分です。

    relayhost = [xxx.ocn.ne.jp] は OCN のネットワーク内に存在する abuna.net サーバからメール送信する際に、(OP25B 対策として)OCN の smtp サーバを中継サーバとして使う設定です。 xxx には OCN と契約しているサーバのサブネームが入ります。 [ポート番号 25], [認証 ID/PW 不要] です。
    2 /etc/postfix/master.cf を以下のように設定します。
    # ==========================================================================
    # service type  private unpriv  chroot  wakeup  maxproc command + args
    #               (yes)   (yes)   (yes)   (never) (100)
    # ==========================================================================
    smtp       inet  n       -       -       -       -       smtpd
    #smtp      inet  n       -       -       -       1       postscreen
    #smtpd     pass  -       -       -       -       -       smtpd
    #dnsblog   unix  -       -       -       -       0       dnsblog
    #tlsproxy  unix  -       -       -       -       0       tlsproxy
    submission inet  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=
      -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
      -o milter_macro_daemon_name=ORIGINATING
    smtps     inet   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=
      -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
      -o milter_macro_daemon_name=ORIGINATING
    #628      inet  n       -       -       -       -       qmqpd
    pickup    unix  n       -       -       60      1       pickup
    cleanup   unix  n       -       -       -       0       cleanup
    qmgr      unix  n       -       n       300     1       qmgr
    #qmgr     unix  n       -       n       300     1       oqmgr
    tlsmgr    unix  -       -       -       1000?   1       tlsmgr
    rewrite   unix  -       -       -       -       -       trivial-rewrite
    bounce    unix  -       -       -       -       0       bounce
    defer     unix  -       -       -       -       0       bounce
    trace     unix  -       -       -       -       0       bounce
    verify    unix  -       -       -       -       1       verify
    flush     unix  n       -       -       1000?   0       flush
    proxymap  unix  -       -       n       -       -       proxymap
    proxywrite unix -       -       n       -       1       proxymap
    smtp      unix  -       -       -       -       -       smtp
    relay     unix  -       -       -       -       -       smtp
    #       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
    showq     unix  n       -       -       -       -       showq
    error     unix  -       -       -       -       -       error
    retry     unix  -       -       -       -       -       error
    discard   unix  -       -       -       -       -       discard
    local     unix  -       n       n       -       -       local
    virtual   unix  -       n       n       -       -       virtual
    lmtp      unix  -       -       -       -       -       lmtp
    anvil     unix  -       -       -       -       1       anvil
    scache    unix  -       -       -       -       1       scache
    maildrop  unix  -       n       n       -       -       pipe
      flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
    uucp      unix  -       n       n       -       -       pipe
      flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
    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/lib/bsmtp/bsmtp -t$nexthop -f$sender $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}
    
    赤文字が変更または追加部分です。 この変更は webmin からできます。