カスタム検索
tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

Postfixの小技

Modified: 13 December 2007, 18 August 2006, 15 December 2005

 Postfixの日本語訳のサイトを見つけました。
http://www.kobitosan.net/postfix/


突然(または、久々にメールを使ったら)受信はできるが送信できなくなった (13 December 2007)

キューに溜まったメールを強制再送する方法6 August 2006

安全なパスワードを作成する方法 (18 August 2006)

ヘッダーをチェックしてエラーリターン(または、受け捨てる)する方法 (18 August 2006)
受け取り時にチェックしてエラーリターン(または、受け捨てる)する方法 (18 August 2006)

Postfixのユーザとグループを作る方法 (6 August 2006)
Ailasesを切り替える方法 (6 August 2006)
メールボックスをMaildir形式にする方法 (6 August 2006)

MTA(sendmail/postfix)を切り替える方法 (6 August 2006)
sendmailがインストールされている環境にPostfixをインストールする方法 (19 March 2004)

すべてのメールをBCCで特定のアドレスに送る (19 August 2005)
届いたメールを別のアカウントに転送する方法 (10 April 2003)

手動(TELNETコマンド)で動作テストする方法 (1 August 2005)
SMTP AUTHの認証コードを表示させる方法 (1 August 2005)

バーチャルドメインのメールを受け取る方法 バーチャルエイリアスを使う - Postfix2.0 (15 December 2005)
バーチャルドメインのメールを受け取る方法 アドレスの書き換え - Postfix2.0 (17 August 2005)
バーチャルドメインのメールを受け取る方法 - Postfix1.1 (18 April 2004)

"info"とか"office"というユーザ宛のメールが届かない (19 January 2003)
いくら"main.cf"を変更しても動作が変わらない (19 January 2003)
他のPCからsmtpを利用する方法 (24 November 2002)

設定("main.cf")の変更を有効にする方法19 March 2004
設定("main.cf")ファイルをチェックする方法19 March 2004


安全なパスワードを作成する方法 

Linuxには、パスワードを生成するコマンドがあります。

以下のコマンドで作成しましょう。毎回入力する必要がない場合、16ものぐらいが安全だそうです。

# mkpasswd -l 16
Ps%pNbvs6uct+7egt
#

コマンドのインストール方法

コマンドがインストールされていない場合は、以下のように、"expect"をインストールします。

# yum install expect

キューに溜まったメールを強制再送する方法

以下のコマンドで、再送処理できます。

# postfix flush

Postfixのユーザとグループを作る方法

Postfixでは、postfixというユーザーと、postfix、postdropという2つのグループを使うそうです。

# groupadd postfix
# groupadd postdrop
# useradd -g postfix -d /dev/null -s /bin/false postfix

postfixユーザーには、ホームディレクトリ("-d /dev/null")もログインシェル("-s /bin/false")も不要です。


Ailasesを切り替える方法

Aliasesは、MTA共通の"/etc/aliases"と、Postfix用の"/etc/postfix/aliases"があります。

どちらを使うかは、"/etc/postfix/main.cf"で指定します。

Postfix用を使うには以下のように設定します。

alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases

メールボックスをMaildir形式にする方法 

メールボックスには、デフォルトのmbox形式と、Maildir形式があります。

mbox形式の場合、受け取ったメールは、"/var/spool/mail"に、ユーザ名のファイル名に1ファイルで溜まります。

Maildir形式の場合は、受け取ったメールは、各ユーザのホームディレクトリに"Maildir"が作られ、溜められます。

"/etc/postfix/main.cf"を以下のように変更すれば、Maildir形式になります。

home_mailbox = Maildir/

MTA(sendmail/postfix)を切り替える方法

デフォルトで、sendmailがインストールされているところに、postfixをインストールしても、MTAとして働くのはsendmailです。

postfixに切り替えるには、"/usr/sbin/alternatives"で行います。

まず、現在の状態を確認します。

# alternatives --display mta
mta -ステータスは自動。
リンクは現在/usr/sbin/sendmail.sendmailを指しています
/usr/sbin/sendmail.sendmail - 優先項目 90
 スレーブmta-pam: /etc/pam.d/smtp.sendmail
 スレーブmta-mailq: /usr/bin/mailq.sendmail
 スレーブmta-newaliases: /usr/bin/newaliases.sendmail
 スレーブmta-rmail: /usr/bin/rmail.sendmail
 スレーブmta-sendmail: /usr/lib/sendmail.sendmail
 スレーブmta-mailqman: /usr/share/man/man1/mailq.sendmail.1.gz
 スレーブmta-newaliasesman: /usr/share/man/man1/newaliases.sendmail.1.gz
 スレーブmta-aliasesman: /usr/share/man/man5/aliases.sendmail.5.gz
/usr/sbin/sendmail.postfix - 優先項目 30
 スレーブmta-pam: /etc/pam.d/smtp.postfix
 スレーブmta-mailq: /usr/bin/mailq.postfix
 スレーブmta-newaliases: /usr/bin/newaliases.postfix
 スレーブmta-rmail: /usr/bin/rmail.postfix
 スレーブmta-sendmail: /usr/lib/sendmail.postfix
 スレーブmta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz
 スレーブmta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz
 スレーブmta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz
現在の「最適」バージョンは/usr/sbin/sendmail.sendmail。
#

以下のコマンドで、postfixに切り替えます。

# alternatives --config mta

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

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

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

再度、以下のコマンドで確認します。

# alternatives --display mta
mta - ステータスは手動。
リンクは現在/usr/sbin/sendmail.postfixを指しています
/usr/sbin/sendmail.sendmail - 優先項目 90
 スレーブmta-pam: /etc/pam.d/smtp.sendmail
 スレーブmta-mailq: /usr/bin/mailq.sendmail
 スレーブmta-newaliases: /usr/bin/newaliases.sendmail
 スレーブmta-rmail: /usr/bin/rmail.sendmail
 スレーブmta-sendmail: /usr/lib/sendmail.sendmail
 スレーブmta-mailqman: /usr/share/man/man1/mailq.sendmail.1.gz
 スレーブmta-newaliasesman: /usr/share/man/man1/newaliases.sendmail.1.gz
 スレーブmta-aliasesman: /usr/share/man/man5/aliases.sendmail.5.gz
/usr/sbin/sendmail.postfix - 優先項目 30
 スレーブmta-pam: /etc/pam.d/smtp.postfix
 スレーブmta-mailq: /usr/bin/mailq.postfix
 スレーブmta-newaliases: /usr/bin/newaliases.postfix
 スレーブmta-rmail: /usr/bin/rmail.postfix
 スレーブmta-sendmail: /usr/lib/sendmail.postfix
 スレーブmta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz
 スレーブmta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz
 スレーブmta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz
現在の「最適」バージョンは/usr/sbin/sendmail.sendmail。
# 

設定("main.cf")の変更を有効にする方法

設定変更後、以下のコマンドで有効になります。

# /usr/sbin/postfix reload

設定("main.cf")ファイルをチェックする方法

設定変更後、以下のコマンドでチェックできます。

# /usr/sbin/postfix check

いくら"main.cf"を変更しても動作が変わらない

Postfixをインストールして、本などを見て、main.cfを変更するものの、ちっとも動作しないし、変更しても動作が変わないという症状に悩むことがあります。

RedhatLinuxでは、メーラーは、sendmailがインストールされます。後で、Postfixをインストールしても動作するのは、sendmail.cfです。

postfixを有効にするには、以下のコマンドで、sendmailをアンインストールする必要があります。

# rpm -e sendmail

"info"とか"office"というユーザ宛のメールが届かない

以下のように、"info"や"office"などのユーザ宛のメールは、"postmaster"というユーザに、エイリアス指定されています。

エイリアスの指定は、"/etc/postfix/aliases"で指定されています。

# Default aliases file for postfix
#
   :
   :
   :

# The following aliases are required by RFC 2142
info:       staff
marketing:  staff
sales:      staff
support:    staff

   :
   :
   :

# Commonly used group aliases:
#
staff:      postmaster
office:     postmaster
all:        postmaster
tech:       postmaster
ops:        postmaster

   :
   :
   :

# Person who should get root's mail. This alias
# must exist.
# CHANGE THIS LINE to an account of a HUMAN
root:      postfix

# Note to the user: You must create the alias above!
# The root alias *must* exist under postfix because
# postfix runs as a non-privileged user and cannot
# touch a spool file which is UID/GID root
# The mapping to the postfix user is to ensure that root's mail
# doesn't get lost on a system installed out of the box.

エイリアス指定を無効にすればメールを受け取ることができます。


他のPCからsmtpを利用する方法

Postfixはデフォルトでは、PostfixをインストールしたPC(つまり、ローカルホスト)空しか利用できない設定になっています。つまり、smtpのポート25は、外部から見えません。

それは、以下のように、"inet_interface"が"localhost"になっているからです。

inet_interfaces = localhost

smtpのポート25を開き、外部から使えるようにするには、"main.cf"を以下のように変更します。 

inet_interfaces = all

多くのLinuxパッケージでは、"all"がデフォルトになっていることが多いようですが、RedhatLinux7.3では、"localhost"がデフォルトです。

さらに、以下の設定も必要です。この設定で、"192.168.0.0/24"のネットワークから利用可能です。

mynetworks = 192.168.0.0/24, 127.0.0.0/8

To previous pageTo home pageMailing to meJump to Top of pageline.gif (927 ツバツイツト)line.gif (927 ツバツイツト)tomo.gif (1144 ツバツイツト)
カスタム検索


Tweet