人気ブログランキング |

Linux -コンピュータを楽むために-


by historydomo

fmlのML管理コマンド メモ

Software : Vine Linux 3.2 (2.4.31-0vl1.8) ,
fml (fml-4.0_stable_20040215-0vl2)

fmlのインストール先 : /home/fml
fmlのユーザ : fml

○ML作成
-bash-2.05b$ /home/fml/makefml newml ML-NAME

○ML管理者登録
-bash-2.05b$ /home/fml/makefml addadmin ML-NAME ADDRESS

○MLユーザ登録
-bash-2.05b$ /home/fml/makefml add ML-NAME ADDRESS

○MLユーザ削除
-bash-2.05b$ /home/fml/makefml bye ML-NAME ADDRESS

○ML削除
-bash-2.05b$ /home/fml/makefml destructml ML-NAME ADDRESS

※削除コマンドを実行しても、/var/spool/ml/ML-NAMEは消えず、@ML-NAMEとなる。
 完全に削除する場合は、rm コマンドなどを利用してディレクトリごと削除する必要がある。
by historydomo | 2006-11-05 01:24 | Linux
メーリングリストのメンバーで、他のドメイン(プロバイダなど)のアドレスへの送付はできなかったが、原因はfmlの設定が不足していたことよるものだった。

何が不足していたかと言うと、ドメインとFQDNに関する設定が抜けていたのです。
RPMでインストールしたために、本来はインストール時に設定を聞かれるステップが抜けていた。

fmlの設定ファイルは、全体のベースとなるものと、それらを元に個々のメーリングリスト毎に作成される。
今回、ベースとなる設定ファイルの内容に不備があったので、修正した。
メーリングリストに関しては、既に作成してしまったものは、一度削除し、再作成を行うことで設定を反映した。
○設定修正
/home/fml/.fml/system

$DOMAIN = ' ';
$ML_DIR = '/var/spool/ml';
$FQDN = 'mailsrv';



/home/fml/.fml/system

$DOMAIN = 'testdomain.net';
$ML_DIR = '/var/spool/ml';
$FQDN = 'mailsrv.testdomain.net';


○ML削除
[root@mailsrv ~]# su - fml
-bash-2.05b$ ./makefml destructml ml-test
-bash-2.05b$ exit
[root@mailsrv ~]# cd /var/spool/ml/
[root@mailsrv ~]# rm -rf \@ml-test


再作成を行った後、他のドメイン(プロバイダなど)のアドレスへも送付できることが確認された。
by historydomo | 2006-11-05 01:10 | ぺんぎん雑記
メーリングリストサーバのソフトウェアを探した所、GNUのMailmanと、fmlというソフトウェアが見つかった。
Vine Linuxでは、aptでfmlが導入できるので、これを使用することにする。
Mailmanは、Web経由での管理が可能だが、現状、公開Webサーバと兼務しているので、見送る。
また、Vine Linuxとは相性が良くないような事がGoogle検索時に見受けられた。本当かどうかは定かでない。
aptで入手できるfmlの方が、親和性は高いだろう。

[root@mailsrv ~]# apt-get install fml

→/home/fml が作成され、fmlユーザ(非ログインユーザ)が登録された。

○ML作成
 [root@mailsrv ~]# su - fml
 -bash-2.05b$ ./sbin/makefml newml ml-test
 ※/home/fml/makefml でもO.K.
 
 -bash-2.05b$ ./sbin/makefml addadmin postmaster@testdomain
 -bash-2.05b$ ./sbin/makefml add kanjyo@testdomain.net
 -bash-2.05b$ ./sbin/makefml add yuui@testdomain.net
 -bash-2.05b$ ./sbin/makefml



○エイリアスの設定
 [root@mailsrv ~]# cat /var/spool/ml/ml-test/aliases >> /etc/aliases
 →MLのエイリアスを書き込む。(下記、書き込まれた内容)
 --------------------------------------------------------------
  # Person who should get root's mail
  root: kanjyo
  ml-test: :include:/var/spool/ml/ml-test/include
  ml-test-ctl: :include:/var/spool/ml/ml-test/include-ctl
  ml-test-request: ml-test-admin
  ml-test-admin: fml
  owner-ml-test: fml
  owner-ml-test-ctl: fml
 
  # Mail Error Analyzer Daemon
  # If you use mead.pl, comment out ml-test-admin: line and UNCOMMNET OUT here.
  #ml-test-admin: fml, :include:/var/spool/ml/ml-test/include-mead
 --------------------------------------------------------------

 
  書き込まれた内容を修正(下記の部分)
 --------------------------------------------------------------
  # fml
  #ml-test: :include:/var/spool/ml/ml-test/include
  #ml-test-ctl: :include:/var/spool/ml/ml-test/include-ctl
  ml-test: "|/home/fml/fml.pl/ /var/spool/ml/ml-test "
   ←最後には" "(スペース)を入れなければならない。
  ml-test-ctl: "|/home/fml/fml.pl /var/spool/ml/ml-test --ctladdr"
 --------------------------------------------------------------

 
○エイリアスの反映
  [root@mailsrv ~]# newaliases
  
 →メールをメーリングリストアドレス"ml-test@testdomain.net"へ送ってみたが、送付されない。
 
 よく見てみると、/etc/aliases の修正部分に誤りが・・・。
 ml-test: "|/home/fml/fml.pl/ /var/spool/ml/ml-test "
 →|/home/fml/fml.pl/ って(笑)
  本来、/home/fml/fml.pl へパイプで渡すという設定なのに、これではディレクトリへ渡そうとしている。
  しかも、/home/fml/fml.pl/ などというディレクトリは存在しない。
  
ここを修正することで、ローカルについては送付が可能になった。
しかし、メーリングリストのメンバーで、他のドメイン(プロバイダなど)のアドレスへの送付はできなかった。
by historydomo | 2006-11-05 01:08 | ぺんぎん雑記
Postfixを導入したので、/etc/skelにMaildirを登録して、今後追加されるユーザがすぐにメールを使用できるようにする。

[root@mailsrv ~]# cd /etc/skel
[root@mailsrv skel]# mkdir Maildir/new
[root@mailsrv skel]# mkdir Maildir/tmp
[root@mailsrv skel]# mkdir Maildir/cur
[root@mailsrv skel]# chmod -R 750 Maildir/


以上
by historydomo | 2006-11-05 00:21 | ぺんぎん雑記
既にある程度、コンフィグをいじっているが・・・。
改めて、Vine Linuxに特化したWebサイトを参考に設定を見直したい。

○Maildir
Postfixによって自動生成されるわけではないらしい。
よって、手動作成する。
[kanjyo@mailsrv ~] $ mkdir Maildir

○main.cf

下記の通りmain.cfを設定する。

------------------------------------------------------
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
default_privs = nobody
myhostname = mailsrv.testdomain.net
mydomain = testdomain.net
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.1.0/24, 127.0.0.0/8
relay_domains = $mydestination
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
home_mailbox = Maildir/
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
allow_percent_hack = yes
mailbox_size_limit = 30720000
#message_size_limit = 30720
smtpd_banner = $myhostname ESMTP unknown

------------------------------------------------------

test-address@nifty.comを宛先にメールを送付。→受信可能を確認。
test-address@nifty.comより、kanjyo@testdomain.netへメールを送付。
→受信を確認。

nifty.comドメインへは、送受信ができることを確認した。

次は、docomo.ne.jpドメインについて調査する。
既に、Outbound Port25 Blockingによってnifty.comのメールサーバを経由しない場合、ブロックされることはわかっている。

my_portablephon@docomo.ne.jpより、kanjyo@testdomain.netへメールを送付。
→受信を確認。

逆は不可。←当然。


Googleで、「Outbound Port25 Blocking postfix」を検索。

@niftyのOutbound Port25 Blocking対策



"送信先の区別なく転送するならrelayhostを使えばいいので、transportは不要である。それから、@niftyのSMTPサーバはsmtp.nifty.comらしい"


------------------------------------------------------
[root@mailsrv root]# cat /etc/postfix/main.cf
  :
  :
relayhost = [smtp.nifty.com]
  :
#transport_maps = hash:/etc/postfix/transport
  :

------------------------------------------------------


"#transport_maps = hash:/etc/postfix/transport#という記述は私の環境では無かった。

再度、下記をテスト。

kanjyo@testdomain.net → my_portablephon@docomo.ne.jp
⇒受信確認。

/var/log/maillogには下記ログがあった。
Oct 31 22:07:59 mail postfix/postfix-script: stopping the Postfix mail system
Oct 31 22:07:59 mailsrv postfix/master[1770]: terminating on signal 15
Oct 31 22:08:00 mailsrv postfix/postfix-script: starting the Postfix mail system
Oct 31 22:08:00 mailsrv postfix/master[2167]: daemon started -- version 2.0.20
Oct 31 22:10:43 mailsrv postfix/qmgr[2171]: 525E9A30A2: from=, size=376, nrcpt=1 (queue active)
Oct 31 22:10:44 mailsrv postfix/smtp[2177]: 525E9A30A2: to=, relay=smtp.nifty.com[202.248.238.12], delay=497, status=sent (250 2.0.0 k9VDMiKe013380 Message accepted for delivery)

取り敢えず、様子見。

○aliasについて

/etc/aliases に、下記の書式でメールのエイリアスを設定。

(左辺):右辺
エイリアス名:ユーザ名


→エイリアス名に設定したユーザ宛にメールが届いた場合、右側のユーザ名へメールを渡す。

# Person who should get root's mail

root: kanjyo

→root宛のメールは全て、kanjyoが受け取る。
この前の設定で、webmasterへのメールはrootが受け取るよう、エイリアスが設定されている。
その上で、root宛のメールをkanjyoが受け取ることになる。

test-address@nifty.comより、webmaster@testdomain.netへメールを送付。
エイリアスをkanjyoが受け取るよう、エイリアスしていない時
→rootが受信を確認。

エイリアスを有効にした時
→kanjyoが受信を確認。rootは受け取っていない。

☆エイリアスを有効にするコマンド
[root@mailsrv root]# newaliases


○IMAPサーバの導入。

Courier-IMAPというのがVineLinuxではメジャー?らしい。
aptで導入可能。※VinePlus

[root@mailsrv root]# apt-cache search courier
courier-authlib - Courier 認証ライブラリ
courier-authlib-devel - Courier認証ライブラリの開発ライブラリ
courier-authlib-ldap - Courier認証ライブラリのLDAPサポート
courier-authlib-mysql - Courier認証ライブラリのMySQLサポート
courier-authlib-pgsql - Courier認証ライブラリのPostgreSQLサポート
courier-imap - Courier-IMAP IMAP server
[root@mailsrv root]# apt-get install courier-authlib courier-imap
[root@mailsrv root]# service courier-imap status
[root@mailsrv root]# service courier-imap status
[root@mailsrv root]# service courier-authlib status
[root@mailsrv root]# service courier-authlib start
Starting Courier authentication services: authdaemond
[root@mailsrv root]# service courier-imap start
Starting Courier-IMAP server: imap generating-SSL-certificate... imap-ssl pop3 generating-SSL-certificate... pop3-ssl


単純にデーモンを起動すれば、特に設定は必要ない。
ThunderbirdよりIMAPでアクセスできた。

[参考URL]
http://vine.1-max.net/postfix-pbs.html
http://sho.tdiary.net/20051024.html
http://owa.as.wakwak.ne.jp/zope/docs/Linux/IMAP/courier-imap
by historydomo | 2006-11-01 05:56 | ぺんぎん雑記
自宅メールサーバからメールが送付できない(エラーになる)ことについて。
 http://jyomclft.exblog.jp/4825029/

調査の結果、原因は"Outbound Port25 Blocking"にあることが判明。
対処方法としては、@niftyのSMTPサーバを経由するようにサーバのメール中継を設定するか、固定IPアドレス利用を始めるか。どちらかである。


・@nifty会員サポートページ
http://support.nifty.com/support/information/op25b/op25b_qa_ans14.htm

・ダイナミックDNSを利用してメールサーバを構築している
http://support.nifty.com/support/information/op25b/op25b_qa_ans13.htm

・Q&A 固定IPアドレスを利用している場合
http://support.nifty.com/support/information/op25b/op25b_qa_ans14.htm

Docomoに関しては、そもそもプロバイダのSMTPサーバを経由しないと送付できない可能性が高い。
よって、@niftyのSMTPサーバを経由して全てのメールを送付する必要がある。
by historydomo | 2006-10-30 11:37 | Linux
Postfixを設定したのだが、問題が発生している。

自分のアドレスへメールを送付しても届かない、ないし遅延してしまう。
※送付のテストは下記3つのドメインにしか行っていない。

メールサーバ → XXX@yahoo.co.jp : 届かない
メールサーバ → XXX@nifty.com : 遅延
メールサーバ → XXX@docomo.ne.jp : 届かない

メールのログを見ると、それぞれのドメインのメールサーバへの接続で下記のようなログがある。

Oct 22 01:21:42 mailsrv postfix/smtp[1156]: connect to XXXX.docomo.ne.jp[XXX.XXX.XXX.XXX]: Connection timed out (port 25)
Oct 22 01:21:42 mailsrv postfix/smtp[1157]: connect to XXXX.docomo.ne.jp[XXX.XXX.XXX.XXX]: Connection timed out (port 25)
Oct 22 01:21:42 mailsrv postfix/smtp[1163]: connect to XXXX.docomo.ne.jp[XXX.XXX.XXX.XXX]: Connection timed out (port 25)
Oct 22 01:21:42 mailsrv postfix/smtp[1162]: connect to XXX.mail.yahoo.co.jp[XXX.XXX.XXX.XXX]: Connection timed out (port 25)

niftyドメインでも同様にConnection timed outする場合があるが、yahoo.co.jpとdocomo.ne.jpの様に100%なる訳ではない。
ただ、設定をしてすぐはyahoo.co.jpもdocomo.ne.jpもメールを送ることは出来た。
ちなみに、受信は問題なく可能。あくまでこちらから相手ドメインへの送付が出来ていない。

"Connection timed out"ということは、相手サーバへポート 25で接続しようとしたが、接続がタイムアウトした(できなかった)ということだろう。
別にファイアーウォールでブロックしている訳ではないし、nslookupでyahoo.co.jpのIPアドレスが引けるのだから名前解決が出来ていない訳では無い。

ネットで調べたところ、docomo.ne.jpに関しては、ドメインによってはドコモ側でブロックしている場合があるらしい。
ただ、私のサーバのドメインが対象になっているのかは不明。現に、設定してすぐは送付が可能だった。

プロバイダがniftyだから、ポート25のブロック対象になってしまっているのだろうか?
by historydomo | 2006-10-28 21:18 | Linux