設定
OSインストール時に、postfixもインストールされていますが、念のため確認してください。確認方法は、Apacheと同じです。インストールされていなければ、インストールをします。インストール方法は、Apacheと同じです。
バージョンは、2.6.3です。
main.cfの設定
postfixの設定ファイルは、main.cfです。/etc/postfix/の中にあります。
以下の内容を変更します。ドメインは、Apacheの設定同様hugahuga.netで行います。
# of all parameters. For the syntax, and for a complete parameter
# list, see the postconf(5) manual page (command: "man 5 postconf").
# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#
#default_privs = nobody→#をとってdefault_privs = nobodyに変更。(66行目)
# 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 = hugahuga.net←追加(77行目)
# 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 = hugahuga.net←追加(84行目)
# 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 = $myhostname←追加(100行目)
# RECEIVING MAIL
# 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 = all←追加(116行目)
# The proxy_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on by way of a
# proxy or network address translation unit. This setting extends
# the address list specified with the inet_interfaces parameter.
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# 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←追加(164行目)
# REJECTING MAIL FOR UNKNOWN LOCAL USERS
#
# Specify "mynetworks_style = host" when Postfix should "trust"
# only the local machine.
#
#mynetworks_style = class
#mynetworks_style = subnet
#mynetworks_style = host
mynetworks_style = subnet←追加(248行目)
# Alternatively, you can specify the mynetworks list by hand, in
# which case Postfix ignores the mynetworks_style setting.
# You can also specify the absolute pathname of a pattern file instead
# of listing the patterns here. Specify type:table for table-based lookups
# (the value on the table right-hand side is not used).
#
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
mynetworks = 192.168.0.0/24,127.0.0.0/8←追加(263行目)
# The relay_domains parameter restricts what destinations this system will
# relay mail to. See the smtpd_recipient_restrictions description in
# postconf(5) for detailed information.
#
# NOTE: Postfix will not automatically forward mail for domains that
# list this system as their primary or backup MX host. See the
# permit_mx_backup restriction description in postconf(5).
#
#relay_domains = $mydestination
relay_domains = $mydestination←追加(293行目)
# INTERNET OR INTRANET
# 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.
#
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost = [*******.******.ne.jp]←追加(314行目)OB25対策
# REJECTING UNKNOWN RELAY USERS
#
# It will take a minute or so before changes become visible. Use
# "postfix reload" to eliminate the delay.
#
#alias_maps = dbm:/etc/aliases
#alias_maps = hash:/etc/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases
alias_maps = hash:/etc/postfix/aliases←追加(385行目)
# The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi". This is a separate
# configuration parameter, because alias_maps (see above) may specify
# tables that are not necessarily all under control by Postfix.
#
#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
#alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
alias_database = hash:/etc/postfix/aliases←追加(396行目)
# 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/ ←追加(418行目)
# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
# system type.
#
#mail_spool_directory = /var/mail
mail_spool_directory = /var/spool/mail
# The allow_percent_hack parameter controls the rewriting of the form
# "user%domain" to "user@domain". This is enabled by default.
#
allow_percent_hack = no
#mail_size
message_size_limit = 5242880←追加(メールボックスのサイズ)
#unfairrelay
smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
allow_percent_hack = yes
swap_bangpath = yes
allow_untrusted_routing = no
#smtpd_client_restrictions = permit_mynetworks,reject_unknow_client,permit
#smtpd_helo_restrictions = permit_mynetworks,reject_invalid_hostname,
reject_unknown_client,permit
smtpd_recipient_restrictions = permit_mynetworks,reject_sender_login_mismatch,
check_relay_domains
smtpd_sender_restrictions = reject_unknown_sender_domain,reject_sender_login_mismatch
smtpd_etrn_restrictions = permit_mynetworks,reject_invalid_hostname←追加(不正中継を防ぐため)
#OB25
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/ob25info
smtp_sasl_security_options = noanonymous
smtp_sasl_mechaism_filter = plain,login
smtp_sasl_type = cyrus←追加(OB25対策)
設定が終了したら、保存をして終了します。
MailBoxの作成
メールを受け取るためのMailBoxを作成します。最初に、/etc/skelのフォルダ直下にMaildirフォルダと下にnew、cur、tmpというフォルダを作成します。これを行うと以後ユーザーを新規作成すると自動でMailBoxを作成してくれます。
作成方法は、端末からsu -でrootに入り
次に、属性の変更を行います。
これで、属性が変わりユーザーを追加するごとに自動で作成されます。なお、インストール時に作成したユーザーは、自動でMaildirは作成されません。必ず手動でMaildirとその下のサブフォルダ(newとcurとtmp)を作成してください。
注意
なお、他のPC(local接続)から送受信を行う場合は、受信用ソフト(pop3)をインストールする必要があります。
ユーザーinfoを作成します。
コマンドから作成します。(GUIからも簡単にできる)ROOT権限に入り
passwd info
New UNIX password: と聞いてくるので任意のパスワードを入れる。
Retype new UNIX password: と聞いてくるのでパスワードを再入力する。
password: all authentication token updated successfully とでれば完了。
aliasesDBの作成
aliasesは、簡単に言うとメールを転送させるためのDBです。以下は一例です。ユーザーはinfoです。
aliasesの場所は、main.cfのあるalias_maps = hash:/etc/postfix/aliasesに記載されているところです。この場合は、/etc/postfixのフォルダの中にあります。
編集は、ROOT権限で行ってください。
MAILER-DAEMON: postmaster
postmaster:root これは、postmasterあてに送られてきたメールはrootに移動します。
www:webmaster これは、wwwあてに送られてきたメールはwebmasterに移動します。
www-admin:webmaster
webmaster:root webmasterあてに送られてきたメールはrootに移動します。
hostmaster:root
root:info rootに送られてきたメールはinfoに移動します。
この様にすると、最終的にすべて、infoへメールは送られてくる設定になります。
また、以下のように設定するとinfoに来たメールを携帯へ転送することもできます。
注意
aliasesの設定をすると移動になるので注意する(コピーではない)。上の例では、info:xxxxxxxxx@docomo.ne.jpとした場合、infoに来たものは、携帯メールに転送されinfoには残らない。
編集が終了したら、DBを更新します。
不正中継を防ぐ
人のメールサーバーを踏み台にして、スパムメールが送られたりします。もし、自分のサーバーが踏み台にされた場合、自分のサーバーがブラックリストに載ってしまうことがあります。これを防ぐため、main.cfに不正中継されないように設定を追加します。
上の設定で、#unfairrelay以下を追加します。postfixのバージョンがあがり、一部は記載されています。
OB25対策
今使っているプロバイダーは、BIGLOBEです。BIGLOBEの場合、迷惑メール対策のため、25番ポートが使えなくなってるので、以下の方法で行います。(この方法は、プロバイダがBIGLOBEの場合です。)
1. BIGLOBEの会員サイトのBIGLOBE中継サーバ利用申込で申し込みます。URLは以下の通りです。
http://support.biglobe.ne.jp/faq/settei/op25b/relay.html
2. 申し込むと、中継用のサーバー名を教えてくれる。また、方法も教えてくれる。あとは、以下のように設定すれば25番ポートのままメールのやり取りができます。
設定は、main.cfに追加します。314行目に以下を追加します。
relayhost = [xxxx.xxxxxx.ne.jp] xxxxxにBIGLOBEから教えてくれたサーバー名を入れる。
次に#OB25以下を最後の行に追加する。
OB25対策用DBの作成
上の追加設定でhash:/etc/postfix/ob25infoとあるが、もともとあるファイルではないので、新規に作成します。作成後、データベース化します。内容は以下の通りです。
注意
ファイル名は、ob25infoでなくてもわかりやすい名前でOKです。/etc/postfixのフォルダの中に作成します。
もし、hash:/etc/ob25infoと入れた場合は、/etcのフォルダの中に作成します。
[xxxx.xxxxxx.ne.jp]△***************:##########
[]内は、307行目に追加したサーバー名、△はスペース、*********はプロバイダからのID、######はパスワードを入力します。
データベースの作成は以下の通りです。端末からsu -でrootに入ってから行います。
postmap /etc/postfix/ob25info
これで、OB25対策が完了しました。
起動
起動させる前に、25番ポートをあけなくてはいけません(PC,ルータとも)。ルータについては各メーカごとに違うので、省略します。
セキュリティレベルの変更
パネルのあるシステム→システム管理→セキュリティレベルとファイヤーオールの設定を選択します。
パスワードをきいてくるので、入力します。セキュリティレベルの設定画面が表示されるので、信頼できるサービスのメールにチェックを入れてOK。これで、25番ポートがあきます。
ポートの確認
25番ポートが開いているかは以下のサイトで確認できます。
ポートチェック
起動方法は、ApacheやProFTPDと同じ方法で行います。
システム→システム管理→サービスを選択。サービスの設定が立ち上がります。左側に各サービスが表示されていてチェックが付いているのが、起動しているソフトです。この中から、postfixにチェックがなければチェックをつけて、開始をクリックします。これで、postfixは起動しました。もし、チェックが付いているときは、そのまま上にある再起動をクリックします。
なお、このときsendmail にチェックがついているか確認します。もし、チェックされていた場合は、停止させてください。
不正中継の確認
postfixを起動したので、不正中継されないかを確認します。確認方法は以下のサイトでできます。
RBL.JP Project.
最後にno relays accepted.と出ればOK。
これで、postfixの設定は終了です。