いつも利用させてもらってます。
現在、Mailサーバーの構築(SMTP-AUTH編)を行っています。
Webの指示通り構築は終わったのですが、メールの受信が出来ません。
送信はきちんと出来ているようです。
以下、メールソフトでのエラーメッセージを添付します。
「no 'cur' directory」というのが気になるのですが、自力では対処できませんでした。
どなたか、アドバイスをお願いいたします。
--------以下、エラーログ-------------
開始時刻: 2006/04/25 18:04:40
****受信:*****.com
I サーバーを検索中 - *****.com
I 接続中 - ***.***.***.***
I 接続完了
R +OK Hello there. <>
I ユーザーアカウントを送信
S USER ******
R +OK Password required.
I パスワードを送信
S PASS ****
R -ERR Maildir invalid (no 'cur' directory)
E POP3用のパスワードが間違っているか、または認証に失敗しました。
エラー内容 = Maildir invalid (no 'cur' directory)
終了時刻: 2006/04/25 18:04:48
---------------------------------
> 「no 'cur' directory」というのが気になるのですが、自力では対処できませんでした。
まず、テストするユーザー宛にメールを送信します。
/home/ユーザー名/Maildir の中に
cur/new/tmp の3種類のディレクトリが作製されると思います。
これでいけると思います。
早速のお答えありがとうございました。
テストするユーザーにメールを送ったのですが、メールは届いていないようです。
宛先不明で返ってくるわけではありませんが、ディレクトリ生成どころかメールすら到着していませんでした。
> テストするユーザーにメールを送ったのですが、メールは届いていないようです。
> 宛先不明で返ってくるわけではありませんが、ディレクトリ生成どころかメールすら到着していませんでした。
という事は上手くMaildir/へメール配送が上手くいっていないということですね。
確認しましょう。
1)main.cfで下記の部分は間違っていないか。
home_mailbox = Maildir/ ← メールボックスをMaildir方式を指定
下記2項コメントアウト(#を付ける)
#mail_spool_directory = /var/spool/mail
#mailbox_command = /some/where/procmail -a "$EXTENSION"
2)ユーザーディレクトリに/Maildirを作製したか?
その際、所有者、グループ名をユーザーにしたか?
3)courier-imap、courier-authlib、postfixはちゃんと起動しているか?
4)次はmaillogを確認してみてください。
何かヒントがあると思います。
1から3はきちんと設定されていました。
4についてですが、ログの見方がいまいちわかりません。
すみませんが、下記に添付しますので、アドバイスなど頂けないでしょうか?
添付するログは、テストするユーザーから自分自身にメールを送った場合のログです。
また、cur/new/tmpのディレクトリを手動で作ってみました。
そうしたところ、受信の動作については問題なく行えるようになりました。
送信も問題なくできます。
ただ、テストするユーザー宛のメールは相変わらず受信されません。
申し訳ありませんが、よろしくお願いいたします。
----------以下、送信時のログです-------------------------
Apr 25 23:37:53 localhost postfix/smtpd[15582]: connect from ******.jp[***.***.***.***]
Apr 25 23:37:53 localhost postfix/smtpd[15582]: ##########: client=******.jp[***.***.***.***], sasl_method=CRAM-MD5, sasl_username=*****@******.com
Apr 25 23:37:53 localhost postfix/cleanup[15574]: ##########: message-id=<*****@******.com>
Apr 25 23:37:53 localhost postfix/qmgr[15490]: ##########: from=<*****@******.com>, size=606, nrcpt=1 (queue active)
Apr 25 23:37:53 localhost postfix/local[15576]: ##########: to=<root@******.com>, orig_to=<*****@******.com>, relay=local, delay=0, status=sent (maildir)
Apr 25 23:37:54 localhost postfix/smtpd[15582]: disconnect from ******.jp[***.***.***.***]
---------------------------------------------------
> また、cur/new/tmpのディレクトリを手動で作ってみました。
> そうしたところ、受信の動作については問題なく行えるようになりました。
> 送信も問題なくできます。
送受信は問題なくできるということですね。
> ただ、テストするユーザー宛のメールは相変わらず受信されません。
ここの意味が分かりません。
上記で送受信できると言っていたのでは?
エラーが出ている、送受信のログを貼り付けてください。
何か分かるかもしれません。
わかりにくくてすみません。
簡単に言いますと、使用しているテストユーザーから自分自身にメールを送った場合でも、他のメールアカウントからテストユーザーにメールを送った場合でも、宛先不在にはなりません。
しかし、テストユーザーのメールボックスにメールが到着しません。
メールソフトからは受信動作は出来ますが、メールボックスにデータがないので、受信されないのです。
ご理解いただけますでしょうか?
ログですが、特にエラーらしきログはありませんでした。
他のアカウントからメールを送信したときの、ログを記載します。
このログの場合も、相変わらずメールボックスにメールは届きませんでした。
何か問題解決のヒントになるような事項があれば、ご指摘をお願いいたします。
伏せ字の使い方に特にルールはありません。
Apr 27 15:34:56 localhost postfix/smtpd[21838]: connect from rcpt-expgw.******.ne.jp[***.***.***.***]
Apr 27 15:34:56 localhost postfix/smtpd[21838]: #########: client=rcpt-expgw.******.ne.jp[***.***.***.***]
Apr 27 15:34:56 localhost postfix/cleanup[21840]: #########:: message-id=<******@******.ne.jp>
Apr 27 15:34:56 localhost postfix/qmgr[18715]: #########:: from=<******@******.ne.jp>, size=966, nrcpt=1 (queue active)
Apr 27 15:34:56 localhost postfix/smtpd[21838]: disconnect from rcpt-expgw.******.ne.jp[***.***.***.***]
Apr 27 15:34:57 localhost postfix/local[21842]: #########:: to=<root@******.com>, orig_to=<********@******.com>, relay=local, delay=1, status=sent (maildir)
この結果はどうなりますかね?
# /usr/sbin/postfix check
一度、手動で作製したcur/new/tmpを削除してみてください。
そしてMaildirのアクセス権を使用するユーザーに設定しても駄目でしょうか?
> この結果はどうなりますかね?
> # /usr/sbin/postfix check
>
上記の結果ですが、何も表示されません。
少し時間を置いて反応が返ってきて、終了という感じです。
> 一度、手動で作製したcur/new/tmpを削除してみてください。
> そしてMaildirのアクセス権を使用するユーザーに設定しても駄目でしょうか?
フォルダを削除後、アクセス権をテストユーザーに再度設定しましたが、結果は変わりませんでした。
そういえば私も以前Maildir配送が上手くいかなかった事がありました。
その時はsaslが起動していなかったことが原因だったんですよね。
一度確認してみてください。
下記コマンドでsaslは起動していますよね?
# /etc/rc.d/init.d/saslauthd start
やっているとは思いますが、Postfixがsasldbを利用できるようにグループ、パーミッションの変更もしていますよね?
# chown -R root:postfix /etc/sasldb2
# chmod 640 /etc/sasldb2
毎回お答え有難うございます。
> 下記コマンドでsaslは起動していますよね?
>
> # /etc/rc.d/init.d/saslauthd start
起動しています。
> やっているとは思いますが、Postfixがsasldbを利用できるようにグループ、パーミッションの変更もしていますよね?
>
> # chown -R root:postfix /etc/sasldb2
> # chmod 640 /etc/sasldb2
再度確認しましたが、きちんと変更されています。
ちょっと話はずれるんですが、MXレコードの設定についてはどのようにすればよいのでしょうか?
現在、VALUE DOMAINでドメインを取っています。
ですので、設定ページでサンプルとして書かれていた通りに、MXレコードを登録しました。
「MX1で優先度10」
これの設定ミスでメールが受信されないとか・・そういった可能性もあるのでしょうか?
> 毎回お答え有難うございます。
いえいえ。
> ちょっと話はずれるんですが、MXレコードの設定についてはどのようにすればよいのでしょうか?
> 現在、VALUE DOMAINでドメインを取っています。
> ですので、設定ページでサンプルとして書かれていた通りに、MXレコードを登録しました。
>
> 「MX1で優先度10」
>
> これの設定ミスでメールが受信されないとか・・そういった可能性もあるのでしょうか?
サイトに記載の通りでいけると思います。
一度、下記コマンドの結果を貼り付けてください。
# postconf -n
こんな感じです。
伏字のところは、ドメイン名、ホスト名を指定しています。
よろしくお願いします。
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
allow_percent_hack = yes
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
debug_peer_level = 2
default_privs = nobody
home_mailbox = Maildir/
inet_interfaces = all
mail_owner = postfix
mailbox_size_limit = 30720000
message_size_limit = 3145728
mydestination = $myhostname,localhost.$mydomain $mydomain
mydomain = *****.com
myhostname = #####.*****.com
mynetworks = 192.168.0.0/24, 127.0.0.0/8
myorigin = $mydomain
queue_directory = /var/spool/postfix
relay_domains = $mydestination
smtpd_banner = $myhostname ESMTP unknown
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
unknown_local_recipient_reject_code = 550
見たところ、特におかしいところはない感じですね。
ん〜何だろう。
ちょっと今のところは見当がつかないですが、色々と調べてみたいと思います。
この結果はどうなるでしょうか?
# grep ^home_mailbox /etc/postfix/main.cf
# ls -l /home/ユーザー名/
grepの結果は以下の通りです。
home_mailbox = Maildir/
lsの結果は以下の通りです。
ユーザー名、グループ名はいずれもテストユーザーになっています。
ただ気になることとして、コマンドプロンプトではユーザー名、グループ名の最後の文字が表示されていませんでした。
GUIで確認したところ、きちんと設定されていました。
total 16
drwxr-xr-x 3 ******** ******** 4096 Apr 19 11:36 lib/
drwx------ 6 ******** ******** 4096 May 1 11:13 Maildir/
drwxr-xr-x 3 ******** ******** 4096 Apr 19 11:36 public_html/
drwxr-xr-x 7 ******** ******** 4096 Apr 19 11:36 rpm/
> total 16
> drwxr-xr-x 3 ******** ******** 4096 Apr 19 11:36 lib/
> drwx------ 6 ******** ******** 4096 May 1 11:13 Maildir/
> drwxr-xr-x 3 ******** ******** 4096 Apr 19 11:36 public_html/
> drwxr-xr-x 7 ******** ******** 4096 Apr 19 11:36 rpm/
Maildirのパーミッションもdrwxr-xr-x(755)に変更しても駄目でしょうか?
またこのコマンドの結果はどうなるでしょうか?
# ls -l /home/ユーザー名/Maildir/
> Maildirのパーミッションもdrwxr-xr-x(755)に変更しても駄目でしょうか?
変更してみましたが駄目でした・・。
> またこのコマンドの結果はどうなるでしょうか?
>
> # ls -l /home/ユーザー名/Maildir/
total 20
drwx------ 2 ******** ******** 4096 May 1 11:13 courierimapkeywords/
-rw-r--r-- 1 ******** ******** 15 May 1 11:13 courierimapuiddb
drwxr-xr-x 2 ******** ******** 4096 Apr 30 20:44 cur/
drwxr-xr-x 2 ******** ******** 4096 Apr 30 20:44 new/
drwxr-xr-x 2 ******** ******** 4096 May 2 12:02 tmp/
こんな感じです。
ユーザー名とグループ名はきちんとテストユーザーになっています。
> > またこのコマンドの結果はどうなるでしょうか?
> >
> > # ls -l /home/ユーザー名/Maildir/
>
> total 20
> drwx------ 2 ******** ******** 4096 May 1 11:13 courierimapkeywords/
> -rw-r--r-- 1 ******** ******** 15 May 1 11:13 courierimapuiddb
> drwxr-xr-x 2 ******** ******** 4096 Apr 30 20:44 cur/
> drwxr-xr-x 2 ******** ******** 4096 Apr 30 20:44 new/
> drwxr-xr-x 2 ******** ******** 4096 May 2 12:02 tmp/
>
> こんな感じです。
> ユーザー名とグループ名はきちんとテストユーザーになっています。
パーミッションも特に問題ない感じですね。
ログも特に問題ない感じだし…
何故Maildirにメールが配送されないのか…
Lan内からのメール送信も、テストユーザーでメール受信できないんですよね?
一度、テストユーザーのMaildirの中身を消して下記コマンドでrootからメールをテストユーザーに送信してください。
# rm -rf /home/ユーザー名/Maildir/*
# mail テストユーザー名 ← テストユーザーにメール送信
Subject: test ← 題名を入力後「Enter」
本文 ← 本文を入力後「Enter」
. ← 「.」を入力後「Enter」
Cc: ← 「Enter」
次に下記コマンドの結果はどうなりますか?
# ls -l /home/ユーザー名/Maildir/
> 一度、テストユーザーのMaildirの中身を消して下記コマンドでrootからメールをテストユーザーに送信してください。
>
> # rm -rf /home/ユーザー名/Maildir/*
>
> # mail テストユーザー名 ← テストユーザーにメール送信
> Subject: test ← 題名を入力後「Enter」
> 本文 ← 本文を入力後「Enter」
> . ← 「.」を入力後「Enter」
> Cc: ← 「Enter」
>
> 次に下記コマンドの結果はどうなりますか?
>
> # ls -l /home/ユーザー名/Maildir/
ここまでは Yusuke さんと同じ状況かと思い興味深く拝見いたしました
ご教示の様に root からユーザーあてにメールを送信の結果
ユーザー宛にメールが届きましたが
メールソフトを開くと、、
「パスワードの送信は成功しませんでした。192.168.1.2が応答しました:Maildir invalid(no 'cur' directory)」表示されます
ユーザーの下には cur フォルダーが在っても同じです
パーミッションは 777 迄しましたが、、変わらず
cur フォルダーを見つけられない原因は?
宜しくお願いします
> > 一度、テストユーザーのMaildirの中身を消して下記コマンドでrootからメールをテストユーザーに送信してください。
> >
> > # rm -rf /home/ユーザー名/Maildir/*
> >
> > # mail テストユーザー名 ← テストユーザーにメール送信
> > Subject: test ← 題名を入力後「Enter」
> > 本文 ← 本文を入力後「Enter」
> > . ← 「.」を入力後「Enter」
> > Cc: ← 「Enter」
> >
> > 次に下記コマンドの結果はどうなりますか?
> >
> > # ls -l /home/ユーザー名/Maildir/
>
> ここまでは Yusuke さんと同じ状況かと思い興味深く拝見いたしました
> ご教示の様に root からユーザーあてにメールを送信の結果
> ユーザー宛にメールが届きましたが
> メールソフトを開くと、、
> 「パスワードの送信は成功しませんでした。192.168.1.2が応答しました:Maildir invalid(no 'cur' directory)」表示されます
>
> ユーザーの下には cur フォルダーが在っても同じです
> パーミッションは 777 迄しましたが、、変わらず
> cur フォルダーを見つけられない原因は?
> 宜しくお願いします
フォルダーは再度削除設定でエラーは出なく(cur認識)しました
[root@***** root]# ls -l /home/info/Maildir/
合計 12
drwxr-xr-x 2 root root 4096 Aug 12 10:41 cur/
drwxr-xr-x 2 root root 4096 Aug 12 10:41 new/
drwxr-xr-x 2 root root 4096 Aug 12 10:41 tmp/
表示されました
root から info には送信OK
info 受信 OK でした
外部からの info 宛メールは届きません
pot 100
pot 25
開放確認済み、DDNS も OK です
すみません、宜しくお願いします
> [root@***** root]# ls -l /home/info/Maildir/
> 合計 12
> drwxr-xr-x 2 root root 4096 Aug 12 10:41 cur/
> drwxr-xr-x 2 root root 4096 Aug 12 10:41 new/
> drwxr-xr-x 2 root root 4096 Aug 12 10:41 tmp/
>
> 表示されました
これを見る限り、Maildirのアクセス権がグループ、ユーザー共にrootになっている様です。
アクセス権をinfoに変更したら受信できるのではないでしょうか?
>
> これを見る限り、Maildirのアクセス権がグループ、ユーザー共にrootになっている様です。
>
> アクセス権をinfoに変更したら受信できるのではないでしょうか?
所有者、グループ共に変更いたしました
[root@***** root]# ls -l /home/info/Maildir
合計 12
drwxrwxrwx 2 info info 4096 Aug 13 08:54 cur/
drwxrwxrwx 2 info info 4096 Aug 13 09:03 new/
drwxrwxrwx 2 info info 4096 Aug 13 09:03 tmp/
受信は出来ませんでした?
宜しくお願いします
出来ました!!
mailコマンドも実行したのですが、それだけでは状況は変わりませんでした。
ですので、Webminを使ってもう一度設定を確認しました。
そうしたところ、メールエイリアスの設定で、テストユーザーのエイリアス先が別のアドレスになっていました。
テストユーザーのアドレスに変更したところ、正常に送受信できるようになりました。
エイリアス先は毎回変更しないといけないのでしょうか?
何はともあれ、問題が解決したので良かったです。
お付き合い有り難うございました。
ご迷惑をおかけしました。
> ですので、Webminを使ってもう一度設定を確認しました。
> そうしたところ、メールエイリアスの設定で、テストユーザーのエイリアス先が別のアドレスになっていました。
普通は、勝手に/etc/postfix/aliasesの内容が変わることはないです。
自分でエイリアスの設定をしていたのではないんですか?
それ以外考えられない。。。
> テストユーザーのアドレスに変更したところ、正常に送受信できるようになりました。
> エイリアス先は毎回変更しないといけないのでしょうか?
普通エイリアスの設定を毎回することは無いです。
> 自分でエイリアスの設定をしていたのではないんですか?
> それ以外考えられない。。。
そうなんですかね・・。
お騒がせしました。
> 普通エイリアスの設定を毎回することは無いです。
了解しました。
長い間お付き合い頂き有り難うございました。
今後も何かありましたら、よろしくお願いいたします。