コンピュータ/ソフトウェア関連Tips

本文へ

Postfixのインストール

更新: 2013年08月08日(木) 22:24
公開: 2013年08月07日(水) 21:55

起動時にメールをする等、送信だけできれば良い...という前提。

hostnameコマンドを実行して結果を確認する

まず、

$ hostname

を実行して、結果がFQDNであるかどうかを確認しておく。

Postfixをインストールして設定ファイルを開く

$ sudo yum install postfix

$ sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.original

$ sudo vi /etc/postfix/main.cf

myhostnameの設定

# 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

最初に実行した hostname コマンドの結果がFQDNであるなら、myhostnameの値は自動的に設定されるので、コメントのままで良い。FQDNでないなら、自前でmyhostnameの値を設定する。

mydomainの設定

# 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

myhostnameから自動的に抽出されるので設定不要。

myoriginの設定

# 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

実はこの部分がよく分からない。「The default is to append $myhostname」なら、下から2行目を用意してある理由が分からない。ここは、下から2行目のコメントを外して、

myorigin = $myhostname

にしておく。

mydestinationの設定

# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for.
(略)
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain

デフォルトのままで良い。

relayhostの設定

# 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を明示的に指定しておく。

デフォルトMTAの設定

$ sudo alternatives --config mta

1 プログラムがあり 'mta' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

rootユーザー宛メールの転送先設定

$ sudo cp /etc/aliases /etc/aliases.original

$ sudo vi /etc/aliases

ファイルの末尾の方に、

# Person who should get root's mail
#root:          marc

という記述があるので、コメントを外し、marcの部分に、転送先メールアドレスを指定する。設定を反映するために、

$ sudo newaliases

を実行する。

mailxパッケージのインストール

$ sudo yum install mailx

Postfixの起動

$ sudo /etc/rc.d/init.d/postfix start

$ sudo chkconfig postfix on

テストメール送信

$ echo test mail|mail -s test hoge@example.com

root宛に送信

$ echo test mail for root|mail -s test root

メールが配信されない場合

ログを見てみる。

$ sudo tail /var/log/maillog
5.1.1 (Unknown user), 5.2.2 (Mailbox full) and 5.7.1 (Rejected by security policy/mail filter).

wikipediaより。

プロバイダのSMTPサーバーをrelayhostに指定する場合の参考。

Postfix +インストール + OP25B設定

同一カテゴリーの記事

Tags: LINUX CentOS

© Someone in the TERRA

編集