Postfixのインストールと設定

yumを使ってPostfixをインストールします。。

yum -y install postfix

Postfixの設定を行います。

vi /etc/postfix/main.cf
# INTERNET HOST AND DOMAIN NAMES
#
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = mail.astermark.com #メールサーバに割り当てるサブドメイン

# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
#mydomain = domain.tld
mydomain = astermark.com #ドメイン名

# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain #メールアドレスの@以降のドメイン(mydomain = astermark.com)

# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on.  By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost #コメントアウトする
inet_interfaces = all #外部からメールを受ける

# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key (the right-hand side is ignored).
# Continue long lines by starting the next line with whitespace.
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #mydomain宛のメールを受信

# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
#
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
#
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
#
# If you're connected via UUCP, see also the default_transport parameter.
#
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost = [op25b.asahi-net.or.jp] #プロバイダのリレーサーバ(ASAHIネットで提供の場合)

# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
home_mailbox = Maildir/ #メールボックス形式をMaildir形式に

# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)

# PARALLEL DELIVERY TO THE SAME DESTINATION
smtpd_banner = $myhostname ESMTP unknown #セキュリティ向上のたえめpostfixであることを公開しない

#以下すべてをファイルの末尾に追加する

smtpd_sasl_auth_enable = yes #SMTP認証を有効
smtpd_sasl_local_domain = $myhostname 
smtpd_sasl_type = dovecot #認証にDovecotを使用
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  reject_unauth_destination

message_size_limit = 10374650 #受信メールサイズ

smtpd_use_tls = yes #SSLで暗号化
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.astermark.com/fullchain.pem #Let'sEncryptで作ったfullchain
smtpd_tls_key_file = /etc/letsencrypt/live/mail.astermark.com/privkey.pem #Let'sEncryptで作ったprivkey
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache

local_recipient_maps =
luser_relay = unknown_user@localhost #存在しないユーザ宛のメールをunknown_user@localhostに送る
vi /etc/postfix/master.cf
  # ==========================================================================
  # service type  private unpriv  chroot  wakeup  maxproc command + args
  #               (yes)   (yes)   (yes)   (never) (100)
  # ==========================================================================
  smtp      inet  n       -       n       -       -       smtpd
  #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
vi /etc/sasl2/smtpd.conf
#以下の行をコメントアウトして追加する
#pwcheck_method: saslauthd
pwcheck_method: auxprop
mech_list: plain login

コメント

タイトルとURLをコピーしました