WebARENAのVPSには初期状態で「Postfix」というメールサーバープログラムがインストールされています。
ほかに「sendmail」というメールサーバープログラムもインストールされていますが、
このマニュアルでは設定が比較的容易なPostfixを使用する方法を掲載しています。
「Postfix」を使用してメールサーバーを構築する場合は、以下をご参照の上、Postfixの設定を行って下さい。
このマニュアルでは、例として以下のようなご利用形態を前提として記述しております。
メールサーバーに設定する内容はお客さまのご利用形態によって変わりますが、
オンラインマニュアルに記載されていない設定については弊社のサポート対象外となります。
この例と異なるご利用形態でお使いになる場合はPostfixの設定方法について解説されている書籍・Webサイトなどをご参考に
お客さまにて設定ファイルの内容を書き換えてご利用下さい。
Postfixの設定手順は以下の通りです。
サーバーにSSHで接続し、rootアカウントを使用してログインします。
viで /etc/postfix/main.cf ファイルを開くコマンドは以下の通りです。
[root@localhost ~]# 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 = example.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 = example.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
#Enable IPv4, and IPv6 if supported
#inet_protocols = all
inet_protocols = ipv4
#"Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
home_mailbox = Maildir/(←行頭にある # を削除する)
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,
reject_unauth_destination
[root@localhost ~]# vi /etc/sasl2/smtpd.conf
pwcheck_method: sas l authd mech_list: plain login cram-md5(←パラメータを追記)
[root@localhost ~]# saslpasswd2 -u ホスト名 アカウント名 Password:(パスワード) Again (for verification):(パスワード)たとえばお客さまのホスト名が「example.com」で、「nttpc」というCRAM-MD5認証用のアカウントを作成する場合は以下のコマンドを実行します。
[root@localhost ~]# sas l passwd2 -u example.com nttpc Password:(nttpcのCRAM-MD5用パスワード) Again (for verification):(nttpcのCRAM-MD5用パスワード)複数のCRAM-MD5認証用アカウントを作成したい場合は作成するアカウントの個数分繰り返して実行して下さい。
[root@localhost ~]# chown postfix /etc/sasldb2
[root@localhost ~]# service postfix start [root@localhost ~]# service saslauthd start
OSの再起動と同時にpostfix や saslauthdを自動起動したい場合は、chkconfig でpostfix や saslauthd をon に設定して下さい。
chkconfig の設定方法は、オンラインマニュアル内サービスの自動起動設定に掲載しておりますのでご参照下さい。
「info」や「support」など、いくつかのよく使われるアカウント名やシステムが使用するアカウント名については初期状態でエイリアス設定が行われており、 そのアカウント宛てのメールは別のアカウントのメールボックスに転送されるようになっています。初期状態でエイリアス設定が行われているアカウント名は以下の通りです。
このままの状態では info@(ドメイン名) 宛てのメールが「info」のメールボックスに配送されないため、「info」を通常のメールアカウントとして使用することが出来ません。
通常のメールアカウントとして使用する場合はエイリアス設定を変更して転送を停止して下さい。
エイリアス設定を変更する手順は以下の通りです。
[root@localhost ~]# vi /etc/aliases
#info: postmaster
書き換えが終了したらファイルを保存してテキストエディタを終了して下さい。
[root@localhost ~]# newaliases
上記の設定を行った後、通常のメールアカウントと同様にメールの送受信が行えることをご確認下さい。
Postfixのバーチャルドメイン機能を使用すると、1つのVPS上でドメイン名が異なる複数のメールサーバーを運用することが出来ます。
Postfixの設定を行う前にネームサーバーで複数のドメインを使用するための設定を行っておく必要がありますので、
あらかじめbindの設定 - バーチャルドメイン設定に記載されているバーチャルドメインの設定を行っておいて下さい。
以降の説明は、例として以下のようなご利用形態を前提として記述しています
異なるドメインでもユーザ名が同じ宛先のメールは同一のアカウントのメールボックスに配送される設定です。
例えば example.com と mail.example.com を使用できるように設定した場合、nttpc@example.com と
nttpc@mail.example.comのどちらにメールを送信してもアカウント「nttpc」のメールボックスにメールが配送されるようになります。
この場合の設定手順は以下の通りです。
[root@localhost ~]# vi /etc/postfix/main.cf
mydestinationの項目に追加するドメイン名を設定します。ここではmail.example.comというドメイン名を追加しますので、すでに存在する行の末尾に「,」(カンマ)で区切って mail.example.com を追加します。
# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for.
#
# ・
# ・
#(中略)
# ・
# ・
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, localhost.$mydomain, localhost, mail.example.com
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
書き換えが終了したらファイルを保存してテキストエディタを終了して下さい。
[root@localhost ~]# service postfix reload
宛先のアドレスごとに配送されるメールボックスを個別に指定することが出来る設定です。 例えば example.com と mail.example.com を使用できるように設定した場合、 nttpc@example.com 宛てのメールと nttpc@mail.example.com 宛てのメールが配送されるメールボックス(アカウント)を個別に指定することが出来ます。
この場合の設定手順は以下の通りです。
[root@localhost ~]# vi /etc/postfix/main.cf
ファイルの末尾に以下の2行を追加します。「virtual_alias_domains」の行に追加するドメイン名を記述して下さい。ここではmail.example.comというドメイン名を追加しますので、「=」の右側に mail.example.com を記述しています。
virtual_alias_domains = mail.example.com
virtual_alias_maps = hash:/etc/postfix/virtual
なお、この状態ですと、メールログ(/var/log/maillog)に「BOTH virtual_alias_domains and relay_domains」というwarningが出るため、以下設定を末尾に記述して頂くことをお勧めいたします。
parent_domain_matches_subdomains = debug_peer_list,
fast_flush_domains,
mynetworks,
permit_mx_backup_networks,
qmqpd_authorized_clients,
smtpd_access_maps
[root@localhost ~]# vi /etc/postfix/virtual
このファイルには、「このメールアドレスに来たメールをこのアカウントのメールボックスに配送する」という設定を記述します。
(メールアドレス) (アカウント)
複数の設定を記述する場合は1行につき1つの設定を記述します。
nttpc@example.com user1
nttpc@mail.example.com user2
※本設定例の場合、あらかじめ "user1"、"user2" というアカウントを追加しておく必要があります。
[root@localhost ~]# postmap /etc/postfix/virtual [root@localhost ~]# service postfix reload
SPAMメール対策でOP25B(任意のホストのTCP25番ポートへの接続がブロックされる仕組み)を実施しているプロバイダから接続する場合、 標準設定のままではWebARENAのVPSを送信用SMTPサーバーとして使用できない場合があります。このような場合はSubmissionポートの設定を行うことで回避することが出来ます。
PostfixでSubmissionポートを使用する設定の手順は以下の通りです。
[root@localhost ~]# vi /etc/postfix/master.cf
# Postfix master process configuration file. For details on the format # of the file, see the master(5) manual page (command: "man 5 master"). # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - n - - smtpd submission inet n - n - - smtpd (←行頭にある # を削除) # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes (←行頭にある # を削除) -o smtpd_client_restrictions=permit_sasl_authenticated,reject (←行頭にある # を削除)
書き換えが終了したらファイルを保存してテキストエディタを終了して下さい。
[root@localhost ~]# service postfix reload
上記の設定を行った後、メールソフトの接続先SMTPポート番号を587番に変更してメールの送信が行えることをご確認下さい。