Mail


GentooでqmailとMailあれこれ

  • gentooによるqmailの設定
    • 間違いは教えてくださいね

はじめに

  • local以外からの配送も受付たい人はあなたのhostのMXをよく確認してください

リンクや参考

必要なもののemerge

# emerge qmail
# emerge ucspi-tcp
# emerge md5checkpw
  • 起動用スクリプト一応書いておきました
  • なおdaemontoolは利用しません。

qmailの初期設定

  • ここでは自分のhostのFQDNとdigの出力の意味が分かる人のみ対象しています.
  • useraddはしなくてもgentooはdefault設定で入ってます
#cd /var/qmail/bin
#./config-fast FQDN 
  • /var/qmail/control/me:ローカルメールサーバのホスト名を指定するために使用します。他の制御ファイルが存在しない場合、このファイルに記述された内容がデフォルト値として使用されます。
  • /var/qmail/control/defaultdomain:配送時にメールを受け取るドメイン
  • /var/qmail/control/plusdomain: + 記号で終わるメールアドレスに追加するドメインを指定します。
  • /var/qmail/control/locals:ローカルメールアドレスとしてみなすドメイン名を指定します。
  • /var/qmail/control/rcpthosts:別のホストやドメイン宛てのメッセージをサーバで受け取れるようにするために使用します。qmail サーバはこのファイルで指定されていないホスト、ドメイン宛てのメッセージは受け取りません。少なくとも、ローカルホスト名を記述する必要があります。
# nano -w  /var/qmail/rc
exec env - PATH="/var/qmail/bin:$PATH" \
       qmail-start "`grep -v '^#' /var/qmail/control/defaultdelivery`"
  • 以下のように変更します
    qmail-start "`grep -v '^#' /var/qmail/control/defaultdelivery`" splogger qmail
  • .forwardをサポートしたいならコメントアウトしましょう#|dot-forward .forward
  • .maildirでもよい人はそのままでもよいでしょう
  • 昔からmakeして使ってる人はMaildirに自分で変更してください
  • emergeで入れると.maildirです、私もこれがよいと思います.
  • userも各自maildirmakeします $ /var/qmail/bin/maildirmake ~/.maildir
  • /etc/skelに
    # /var/qmail/bin/maildirmake /etc/skel/.maildir

エイリアスの設定

  • ( postmaster, mailer-daemon, root のメールに エイリアスを設定 )
  • postmaster, mailer-daemon, root で指定されたメールを受け取るように設定します。
# cd /var/qmail/alias/
# touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
# echo "[メールを受け取るユーザ]" >> .qmail-postmaster
# echo "[メールを受け取るユーザ]" >> .qmail-mailer-daemon
# echo "[メールを受け取るユーザ]" >> .qmail-root
# chmod 644 .qmail*
  • では起動してみましょう
    #/var/qmail/rc &
  • testmailしてみます
    #echo to: root@your_host.example.jp | /var/qmail/bin/qmail-inject
  • mailが届いているか確認します
#ls ~/.maildir/new

tcpserverの導入

  • tcpserverで外部からの受付をcdb形式から参照します
  • tcpserverもdjbソフトの1つです
  • 詳しくは自分で調べてください。
  • qmail.jpの前野さんのいちげんさんお断りはかなり効きます
  • つまり1度断って再送を試みるSMTPサーバ(RFC準拠)のみ受け取りですね。
  • http://tools.qmail.jp/ucspi-tcp.html
  • http://tools.qmail.jp/ucspi-tcp/rblsmtpd.html
  • あとはrblsmtpdでリストを作成してあげればよい。
  • 中規模の企業系でのspamであれば私の会社では70%ほど減りました。
-v すべてのメッセージを出す 
-u uid ユーザーIDをuidに切り替える 
-g gid グループIDをgidに切り替える 
-H 逆引きをしない(リモートホスト名を調べない) 
-R ident(接続したサーバのユーザー情報について、付加的な情報を返す)しない 
-x /etc/tcp.cdb cdbデータベース(/etc/tcp.cdb)で制御する 
-c limit 最大同時接続数をlimitに設定する(デフォルトは40) 
-P 逆引き、正引きで相手の正当性を調査する 
  • サーバを起動するユーザの uid と gid を調査
  • tcpserver で使用するユーザの uid と gid を取得します。
# id -u qmaild
201
# id -g qmaild
200
  • ここで返される値をメモしておきます。(gentooはたぶんこの番号)

qmail のリレー設定

  • メール送信の接続を受けつけるリレーを許すホストの設定を行ないます。
  • 例としては192.168.0.* からの接続と、ローカルホストからのメール送信を許す場合は以下のように設定します。
  • 作成したルールは tcprules コマンドによって cdb 型式に変換して利用します。
  • では、cdbファイルを作成します。cdbファイルは以下のコマンドを実行することで作成できます。
# vi /etc/tcp.smtp
-------------------------------------
192.168.0.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
-------------------------------------
# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
  • tcpserverで起動してみまよう
#nano -w tcpqmail.sh
-#!/bin/sh
-tcpserver -v -u[qmaildのUID] -g[nofilesのGID]-x /etc/tcp.smtp.cdb 0    
smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
-tcpserver -v -u[201] -g[200]-x /etc/tcp.smtp.cdb 0  
smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
  • nmapで確認しまよう
# cd /etc/init.d
# nano -w qmail
  • qmail.shとして添付してありますのでrenameして使ってください
  • 起動時にupするようにします
#ln -s /etc/init.d/qmail /etc/runlevels/default/qmail
  • /var/qmail/control以下のファイルを修正する
  • これでsmtp接続はできるようになりました、おつかれさまです

受信環境の構築

tcpserverをpop対応に

  • pop3(110番) ポートからの接続を受けつけるように設定します。
  • もしアクセス制御が必要な場合はtcprulesを利用してcdb 型式のファイルを作成し -x オプションで指定して起動することでアクセス制御が可能です。
  • pop機能はqmail付属のpop3dを使います
#!/bin/sh
#	set_path
PATH=/var/qmail/bin:/usr/bin:/bin:/usr/local/bin
# /usr/bin/tcpserver -HR 0 pop3 /var/qmail/bin/qmail-popup \
[サーバの完全ドメイン名] /bin/checkpasswd /var/qmail/bin/qmail-pop3d .maildir &
  • いろいろpopは調べましたが、qmail使用であれば標準のqmail-popがよいでしょう。
  • Maildir対応のpopがよい実装のものが少ないです。

ezmlmを使ってみる

install

# emerge ezmlm

ezmlm使用方法(ユーザ権限での利用)

  • list一覧
    • #ezmlm-list /home/testuser/***
  • /usr/local/bin/以下のコマンド(ezmlmをinstall時のprefixで変わります)
ezmlm-check,ezmlm-clean,ezmlm-gate,ezmlm-get,ezmlm-idx,ezmlm-issub
ezmlm-issub,ezmlm-list,ezmlm-make,
ezmlm-manage,ezmlm-moderate,ezmlm-request,ezmlm-return,
ezmlm-send,ezmlm-store,ezmlm-sub,ezmlm-tstdig,ezmlm-unsub,
ezmlm-warn,dot-qmail

メーリングリストを作成してみる

  • ユーザ名をtestuser 、メーリングリスト名をML
  • ホスト名をmail.example.jpとします。
  • (dnsは設定できてますかMXをこのhostでdigして引けないなら問題外です)
  • ユーザtestuserでログインし、以下のezmlm-makeコマンドを実行
$ /usr/local/bin/ezmlm-make ~/ML ~/.qmail-ML testuser-ML mail.example.jp

 

  • これにより、testuserのホームディレクトリに、ファイルが作成されます。
  • 作成後に
    # chown -R testuser /home/testuser/ML
    • で所有者をtestuserに変更します  
  • このメッセージに従ってメールを送ることで、自動登録されます。  
  • [ コントロールアドレス一覧 ]
    testuser-ML@my.domain       投稿受付け用アドレス
    testuser-ML-subscribe@my.domain  登録用アドレス
    testuser-ML-unsubscribe@my.domain 退会用アドレス            
    testuser-ML-get.123@my.domain   特定メーセージ取出し用アドレス
    testuser-ML-help@my.domain     案内メッセージ用アドレス
    testuser-ML-request@my.domain   説明用アドレス

 

  • メーリングリストを作成すると、実際には/home/testuser/以下に.qmailファイルが作成され、シンボリックリンクされます.

ezmlm-idx(もっと高機能に)

# emerge ezmlm-idx
  • idx-patchインストール後のオプション
  • ezmlm-makeのオプションはidx-patch適応後もそのまま引き継がれます。ただし、idx-p atchを適用したことで以下のように拡張されます。
-a アーカイブを保存する(*)   -A アーカイブを保存しない
-c .ezmlmrcファイルを使用する   -C .ezmlmrcファイルを使用しない(*)
-d ダイジェストを作成する   -D ダイジェストを作成しない(*)
-e 既存設定を修正する   -E 設定を新規作成する(*)
-f prefix(Subject:の見出し)を付ける   -F prefix を付けない(*)
-g アーカイブの取り出しを制限する   -G アーカイブを公開する(*)
-i インデックスを作成する(*)   -I インデックスを作成しない
-k 投稿禁止リストを作成する   -K 投稿禁止リストを作成しない(*)
-l 参加者一覧の取り出し   -L 参加者一覧なし(*)
-m 投稿を審査する   -M 投稿を審査しない(*)
-n DIR/textの編集を許可   -N DIR/textの変更不可(*)
-p 公開MLとする(*)   -P MLを公開しない
-q リクエスト形式を使う   -Q リクエスト形式を使わない(*)
-r 遠隔管理させる   -R 遠隔管理させない(*)
-s 登録審査をする   -S 登録審査をしない(*)
-t 添付文書を作る   -T 添付文書を作らない(*)
-u 登録ユーザーのみ投稿可能   -U だれでも投稿可能(*)
-V バージョンを表示する   -v バージョンを表示する
-x 特定のMIMEパートを削除する      
(*)はデフォルトで有効になっているもの

qmailを管理する

qmail付属のコマンドを使う

  • 配送キューの簡単な統計情報を表示する
#/var/qmail/bin/qmail-qstat
  • たまっているメッセージキューのヘッダ情報を部分的に表示する
#/var/qmail/bin/qmail-qread

qmHandleスクリプトを使ってみる

# emerge qmHandle
  • qmHandleはqmail-qstat、qmail-qreadの機能を兼ね備え、さらにキューの削除も行えます。
    • まず、qmHandle-0.5.1.tar.gzダウンロードします。qmHandleはPerlスクリプトなので、特にインストール作業は必要ありません。ただし、Perlが/usr/bin/以外にインストールされている場合はqmHandleスクリプトの1行目のPerlのパスを変更します。
    • http://sourceforge.net/projects/qmhandle
  • qmHandleは、指定するオプションによって下記のように動作します。
-l ローカル/リモートすべてのキューを表示 
-L ローカルキューを表示 
-R リモートキューを表示 
-s 統計情報の表示 
-vN Message-Id Nのメッセージを表示 
-dN Message-Id Nのキューを削除 
-D ローカル/リモートすべてのキューを削除 
-c 出力結果をカラー表示 
-N Message-Idを表示。ただし、-l、-L、-Rオプションと一緒に指定する必要がある

xinetdで動かしてみる

  • qmailの起動形態には、inetd/xinetd(&tcpd)、もしくはtcpserver経由の方法がある。 inetdはパフォーマンスに問題があるため、使用しないほうが良い。
  • tcpserverはqmailと同じ作者が開発したTCP用スーパサーバであり、qmailとの相性も良い。
    • これから先の説明は、システムに既にxinetdがセットアップされていることを前提とする。
$ cd /etc/xinet.d
  • xinetdでは、xinetd経由で起動するプログラム単位にこのディレクトリに設定ファイルを作る必要がある。
$ vi qmail
  • このファイルに以下のような設定を記述する。
service smtp
{
disable = no
flags = REUSE NAMEINARGS
socket_type = stream
protocol = tcp
wait = no
user = qmaild
server = /usr/sbin/tcpd
server_args = /var/qmail/bin/tcp-env -R /var/qmail/bin/qmail-smtpd
}
  • 気をつける点としては、server, server_argsで示されるプログラム(tcpd, tcp-env, qmail-smtpd)が 指定のパスに存在していることを確認すること。

リレー許可ホストの設定を行う(xintedの続き)

  • 現在のままでは、このメールサーバ宛のメールしか送信することができない状態のため、 他のドメインへのメール送はできない。
  • つまり貴方宛のメールを受信することはできても、貴方から他のドメイン(メールアドレス)の誰かへはメールが出せないということ である。
$ cd /etc
$ vi hosts.allow
hosts.allowを編集する。
tcp-env : 127. : setenv = RELAYCLIENT
tcp-env : 192.168.10.0/24 : setenv = RELAYCLIENT
tcp-env : 192.168.20.15 : setenv = RELAYCLIENT
tcp-env : ALL
  • このhosts.allowというファイルは、tcpdが参照するファイルであり、特定の送信元のアドレスやドメインによって 指定のプログラムを動かして良いかどうかのアクセスコントロールに使用される。
  • このファイルの書式は
<プログラム> : <接続要求パターン> : <オプション> [ : <オプション> ... ]
  • 上記の例では、ある接続パターンの場合のみ、環境変数RELAYCLIENTを宣言している。
  • ここで言っている"ある接続パターン"とは正確にいうと、接続元のIPアドレスのパターンのことである。
  • qmailは環境変数RELAYCLIENTが宣言されている要求に対しては、設定ファイル rcpthostsを無効になり、どの宛先アドレスに対しても配送する。
  • 例では、内部ドメインのアドレス(信頼する身内のアドレス)からはどの宛先のメールでも受取り、 配送するという意味である。
  • 注意すべき点として、tcpdはhosts.allow中の記述のうち、マッチするものを見つけたらそれ以降のルールは 参照せずに、即座に指示に従ってしまうこと。
  • つまり、tcp-env : ALL を最初に行に書いてしまうと、全ての接続に対して環境変数RELAYCLIENTが宣言 されることは無くなってしまうので注意すること。

設定一覧を見る

#/var/qmail/bin/qmail-showctl

qmail内部構造

特定のaddress拒否

  • 特定のアドレスの受け取り拒否 卒業・退社・人事移動などによる抹消アカウントがエラーを発生させる場合や、 spamのenvelope fromにアドレスを騙られた場合などアカウントが限定できる場合は、 badrcptto patchを使って smtpセション中に拒否をすることで受け取り後のエラー発生を防ぎます。

queue-adminを使う

wget http://cmf.ohtanz.com/download/queue-admin.txt

mv queue-admin.txt /var/qmail/bin/queue-admin

chmod 755 /var/qmail/bin/queue-admin

  • 詳細は”/var/qmail/bin/queue-admin”を実行
  • 使用例
1.queueに溜まっているメールのリストを表示 

/var/qmail/bin/queue-admin --ls

2.キュー番号「1111111」「2222222」のメールを表示 

/var/qmail/bin/queue-admin --cn 1111111 2222222

3.Toヘッダーに「aaa@ohtanz.com」「bbb@ohtanz.com」が含まれるメールを削除。 

/etc/rc.d/init.d/qmail stop

/var/qmail/bin/queue-admin --dt aaa@ohtanz.com bbb@ohtanz.com

/etc/rc.d/init.d/qmail start

4.Subjectヘッダーに「test1」「test2」が含まれるメールを表示 

/var/qmail/bin/queue-admin --ss test1 test2

5.メール本文に「test1」「test2」が含まれるメールを表示 

/var/qmail/bin/queue-admin --sb test1 test2

maillogから解析

  • /var/log/maillogに残る
    • 正常に配送が行われると
new msg [メッセージID]                       メッセージのログの開始
info msg [メッセージに関する情報]        メッセージの情報
starting delivery : [配送ID]                   配送開始
status : local 1/10 remote 0/20            状態表示
delivery [配送ID] : success                  状態表示
status : local 0/10 remote 0/20            状態表示
end msg : [メッセージID]                    キューからメッセージを削除し、
  • といったlogが残る(普段から見ていないとトラブルの原因はわからない)
  • 普段は見てもらうと分かるがsuccessと表示される、これがfailureあるいはdeferralといった文字列をはきだすようになる。

ERRORから原因をさぐる

Unable_to_chdir_to_maildir
  • メールボックスであるMaildirでディレクトリを変更できないという旨のメッセージ。qmail-localプログラムはユーザー権限でMaildir/newにメールを配送するため、Maildir以下のディレクトリがユーザーの所有になってないとcdしてファイルを作ることができない。
  • また、qmail-localはMaildir以下のディレクトリのパーミッションが700になっていないと、配送を中止する。このエラーによりユーザーがメールを受け取ることができない場合は、Maildirの所有者やパーミッションを確認する。
Sorry._Although_I’m_listed_as_a_best_preference_MX_or_A_for_that_host,
/_it_isn’t_in_my_control/locals_file,_so_I_don’t_treat_it_as_local.
  • DNSサーバのMXやAレコードでは配送先ホストとして存在するが、設定ファイルlocalsに自ホストの記述がないため、そのメールをローカル配送として処理することができないというエラー。localsにローカル配送として処理するホスト名を記述するか、smtproutesに自ホスト宛のメールを受け取る設定をしてあるホストを記述してメールを転送する。
Sorry,_that_domain_isn’t_in_my_list_of_allowed_rcpthosts
  • メールの転送を許可していないホストが、rcpthostsに記述されていないホストにメールを送信しようとしたときに出るエラー。メールの転送を無条件で許可するなら、そのホストに対応する環境変数のRELAYCLIENTに空文字列を設定する。
Sorry,_no_mailbox_here_by_that_name.
  • ローカル配送されるべきメールとして処理されたが、該当するユーザーがいない場合に出されるエラー。ユーザー名の間違いや、パーセントハックが有効になっていない状態でのパーセントハックを利用したメール配送の発生が原因と考えられる。alias/.qmail-defaultがあれば全ての宛先ユーザー不明のメールを受信して、このエラーメッセージは出さない。
  • 何らかのエラーによってメールの配送が延期されたメールは、その後、何度か再送が試みられる。それにもかかわらず配送が完了しないままqueuelifetimeで設定した時間が経過すると
I’m_not_going_try_again;_this_message_has_been_in_the_queue_too_long.
  • というメッセージを出して、差出人にメッセージを差し戻す。
delivery 9938: deferral: Sorry,_message_has_wrong_owner._(#4.3.5)/
Is qmail/bin/qmail-queue setuid and owned by qmailq?
To enable qmail to deliver the messages with the wrong owner,
check ls -al /var/qmail/queue
drwxr-x---   11 qmailq   qmail        4096 2003-09-19 09:41 .
drwxr-xr-x   11 root     qmail        4096 2003-09-19 17:11 ..
drwx------    2 qmails   qmail        4096 2003-09-21 22:48 bounce
drwx------   25 qmails   qmail        4096 2003-09-19 09:41 info
drwx------    2 qmailq   qmail        4096 2003-09-21 22:48 intd
drwx------   25 qmails   qmail        4096 2003-09-19 09:41 local
drwxr-x---    2 qmailq   qmail        4096 2003-09-19 09:41 lock
drwxr-x---   25 qmailq   qmail        4096 2003-09-19 09:41 mess
drwx------    2 qmailq   qmail        4096 2003-09-21 22:48 pid
drwx------   25 qmails   qmail        4096 2003-09-19 09:41 remote
drwxr-x---    2 qmailq   qmail        4096 2003-09-21 22:48 todo

chown qmailq qmail/queue/mess/*/*
メ ッセージをqmailqオーナになっていないことが原因
  • メールサーバの管理者はこうしたログを参照しながら、セキュリティーを保ちつつ、メールの配送が正常に行われるよう、保守管理を行うことが求められる。
% /usr/local/bin/qmailanalog/zddist < out      # メールの遅れの統計      
% /usr/local/bin/qmailanalog/zfailures < out   # 失敗メールのチェック     
% /usr/local/bin/qmailanalog/zrecipients < out # 受け取り先の統計       
% /usr/local/bin/qmailanalog/zrxdelay < out    # 受け取り先の統計(遅れでソート)
% /usr/local/bin/qmailanalog/zsuccesses < out  # 成功時に理由の統計(意味無し) 
% /usr/local/bin/qmailanalog/zdeferrals < out  # deferral時の理由の統計    
% /usr/local/bin/qmailanalog/zoverall < out    # 基本統計           
% /usr/local/bin/qmailanalog/zrhosts < out     # 相手のホストの統計      
% /usr/local/bin/qmailanalog/zsenders < out    # 差し出し元の統計       
% /usr/local/bin/qmailanalog/zsuids < out      # 差し出し元のuid の統計   

REPLYの設定

  • これまでの設定でclientからはrcpthosts以外のmachineへmailを出そうとすると、
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
  • というエラーに遭遇してしまいます。
  • これは /var/qmail/control/rcpthosts がお分かりのように
localhost
host.example.jp
  • となっているためです。
  • host.example.jp 以外のhostからは、このrcpthostsに表示されたhostにしかmailを送ることができません。
  • qmail は、mailの中継機能をこの rcpthostsにより制限しているのです。
  • ですが/var/qmail/control/rcpthosts を削除してしまえば、 qmail はどこのhostへのmailでも、無制限に中継します。 これは spam にはうってつけの状況となってしまいます。
  • そこで、hostsを選んで中継を許可するように設定します。
  • tcp_wrapperを使った方法
    • CIACから tcp-wrappersを入手
$ make 
  • とすると、対応しているsystem名が表示されます自分のsystemがなければ genericを選びます。
  • REAL_DAEMON_DIRはどこか?
    • /etc/inetd.conf などを参照して、(in.)telnetdや(in.)ftpdなどのdaemonがどこにいるか調べておきます。Linuxの場合は /usr/sbin、FreeBSDの場合は /usr/libexecなどです。
  • hosts_optionsを付けるために STYLE=-DPROCESS_OPTIONS を忘れずに、 make REAL_DAEMON_DIR=/foo/bar STYLE=-DPROCESS_OPTIONS system名 とします。
$ make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux
		
  • tcpd をcp
$ su
# cp tcpd /usr/sbin/tcpd
  • inetd.conf の qmail-smtpd の行を変更し、inetdにHUPを送ります。
    smtp stream tcp nowait qmaild /usr/sbin/tcpd /var/qmail/bin/tcp- 
    env /var/qmail/bin/qmail-smtpd
  • /etc/hosts.allow の設定
    • qmail-smtpdはRELAYCLIENT環境変数があるとcontrol/rcpthostsを無視して、メイルを受け取ります。
    • 中継を許可したいhost/networkの tcp-env に、RELAYCLIENTを空白文字列として設定します。
tcp-env: 1.2.3.4 : setenv = RELAYCLIENT 
	IP addressが 1.2.3.4 の hostからの接続を許可します。
tcp-env: 1.2.3.  : setenv = RELAYCLIENT
	network 1.2.3.0 の networkからの接続を許可します。
tcp-env: .y-min.or.jp : setenv = RELAYCLIENT
	network *.example.jpからの接続を許可します。
  • /etc/hosts.deny の設定
    • hosts.denyで .example.jp以外からはtcp-env --- qmail 以外のserviceを許可しないようにします。
ALL EXCEPT tcp-env: ALL

SPAMメイルの正しい捨て方

  • dot-qmailに"#"だけを書いておけばよろしい。
    • WWWに書いてある連絡用のメイルアドレスにゴミメイルが送られてくるので、 mess822パッケージのiftoccを使っています。
    • To:, Cc:に受け取りたいアドレスがなければゴミ箱(junk)行きにするわけです。 (SPAMはいちいち宛先を変更したりしていないというのを利用しています。)
  • こんなdot-qmailを作ってあります。
#1	| /var/qmail/bin/condredirect web@xxxx.jp iftocc
#2	/home/****/Mdir/junk
  • iftoccは標準入力から読んだメイルのTo:かCc:に $RECIPIENTアドレスが含まれていれば0を返します。そうでなければ、100を返します。それをcondredirect で判定します。
    • .qmailで使うにはperlは重すぎます。牛刀で大根の千切りを作るようなものです。
  • ゴミを送ってくる相手が決っているなら、 $SENDERで識別するようにshellコマンドを直接書くのが正解です。
  • UCE/SPAM対策のために、拡張子なしのアドレスへ届くメイルはゴミ箱行きをめざしています。

qmailとmailのちょっとしたリンク

本家のtoolいろいろ


spam対策