2020年 08月 14日
メールサーバー入門、とりあえず openSUSE Leap 15.2 初期設定の postfix から telnet してみる
電子メールシステムは難しい? openSUSE Leap 15.2 でメールサーバ
mail:~ # cat /etc/postfix/main.cf | grep islandcentermyhostname = mail.i.islandcenter.jpmail:~ #
knakaj@mail:~> telnet localhost 25Trying ::1...Connected to localhost.Escape character is '^]'.220 mail.i.islandcenter.jp ESMTPehlo mail.i.islandcenter.jp250-mail.i.islandcenter.jp250-PIPELINING250-SIZE250-ETRN250-ENHANCEDSTATUSCODES250-8BITMIME250-DSN250-SMTPUTF8250 CHUNKINGmail from: <knakaj@mail.i.islandcenter.jp>250 2.1.0 Okrcpt to: <root@mail.i.islandcenter.jp>250 2.1.5 Okdata354 End data with <CR><LF>.<CR><LF>Subject: Hello Root!Hello Im your user....250 2.0.0 Ok: queued as 064D8808541quit221 2.0.0 ByeConnection closed by foreign host.knakaj@mail:~>
- mail コマンドでメールを読む -
mail:~ #You have mail in /var/spool/mail/rootmail:~ #mail:~ # ls /var/spool/mail/ -altotal 4drwxrwxrwt 2 root root 18 Aug 7 17:06 .drwxr-xr-x 11 root root 132 Aug 7 10:59 ..-rw------- 1 root root 588 Aug 7 17:06 rootmail:~ # mailHeirloom mailx version 12.5 7/5/10. Type ? for help."/var/spool/mail/root": 1 message 1 new>N 1 knakaj@mail.i.isl Fri Aug 7 17:06 15/588 Hello Root!? 1Message 1:From knakaj@mail.i.islandcenter.jp Fri Aug 7 17:06:08 2020X-Original-To: root@mail.i.islandcenter.jpDelivered-To: root@mail.i.islandcenter.jpSubject: Hello Root!Date: Fri, 7 Aug 2020 17:03:40 +0900 (JST)From: knakaj@mail.i.islandcenter.jpHello Im your user...? quitSaved 1 message in mboxmail:~ # ls mbox -al-rw------- 1 root root 599 Aug 7 17:07 mboxmail:~ #
mbox は、旧来のメール保管方式で、私が初めて触った HP-UX もこの方式でした。受信したメールは SUSE Linux では /var/spool/mail/User_name ファイルにスプールされ、mail コマンドで読むと /home/User_Home/mbox ファイルに切り貼りされます。後方互換性は良いのですが、単一のテキストファイルをロックして、該当のメールを切り貼りするため、スプールや受信メールが破損しやすいという欠点があります。一方、Maildir 方式は /home/User_Home/Maildir の下に tmp, new, cur, というディレクトリが作られ、メール本文はメール毎に別ファイルとして tmp -> new -> cur のそれぞれのディレクトリにスプール -> 未読 -> 既読、とステータスを変更しながらハードリンクを切り替える方式です。一見複雑ですが、動作が単純なので、現在はこの方法が主流の様です。
localhost :~ > mail -f ./Maildir
mail:~ # cat /etc/postfix/main.cf | grep home_mailbox# The home_mailbox parameter specifies the optional pathname of a#home_mailbox = Mailboxhome_mailbox = Maildir/mail:~ #mail:~ # postfix checkmail:~ #mail:~ # systemctl stop postfix.servicemail:~ # systemctl start postfix.servicemail:~ #
mail:~ # ls -l ./Maildir/total 0drwx------ 1 root root 0 Aug 8 14:48 curdrwx------ 1 root root 62 Aug 8 14:48 newdrwx------ 1 root root 0 Aug 8 14:48 tmpmail:~ #mail:~ # mail -f ./Maildir/Heirloom mailx version 12.5 7/5/10. Type ? for help."./Maildir/": 1 message 1 new>N 1 knakaj@mail.i.isl Sat Aug 8 14:45 15/546? 1Message 1:From knakaj@mail.i.islandcenter.jp Sat Aug 8 14:45:48 2020X-Original-To: root@mail.i.islandcenter.jpDelivered-To: root@mail.i.islandcenter.jpsubjecct: to root home_dir ...!Date: Sat, 8 Aug 2020 14:45:48 +0900 (JST)From: knakaj@mail.i.islandcenter.jpopen your mail dir !Thnks....? q"./Maildir/" updated.mail:~ #
一応、デフォルトの mbox から ~/Maildir/ 形式に変わったようです。
次にやる事