質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.86%

Postfixが正しく起動しない

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,835

coinbura

score 96

以下を参考にVPSでメールサーバーを立てようとしています。
https://centossrv.com/postfix.shtml

Postfix、Dovecotともにエラーなく起動し、OP25Bも対策済みなのですが、ThunderbirdにPOP3で設定すると
「あなたのアカウント設定を見つけられませんでした」
とのエラーが出てしまいます。

netstat -lntp
で調べたところ

Proto Recv-Q Send-Q Local Address   Foreign Address   State     PID/Program name
tcp        0      0 0.0.0.0:25      0.0.0.0:*         LISTEN    369/master
tcp        0      0 0.0.0.0:587     0.0.0.0:*         LISTEN    369/master
tcp        0      0 0.0.0.0:110     0.0.0.0:*         LISTEN    499/dovecot
tcp6       0      0 :::25           :::*              LISTEN    369/master
tcp6       0      0 :::587          :::*              LISTEN    369/master
tcp6       0      0 :::110          :::*              LISTEN    499/dovecot


と出ます。
おそらくProgram nameがmasterではなくPostfixにならなければいけないのかなぁと思っているのですが、そうなっていないということはpostfixが正しく起動していないということでしょうか?

一体どうすれば改善するのか、途方にくれています。
ヒントだけでもご教授いただければ幸いです。
よろしくお願いいたします。

追記1.
新規に作成したメアドへメール送信直後に、「journalctl --since=today」でログを取得しました。

statistics: max connection rate 1/60s for (smtp:IPアドレス1) at Jun 26 00:26:00
statistics: max connection count 1 for (smtp:IPアドレス1) at Jun 26 00:26:00
statistics: max cache size 1 at Jun 26 00:26:00
Received disconnect from IPアドレス2: 11:  [preauth]
Received disconnect from IPアドレス3: 11:  [preauth]
connect from example.jp[IPアドレス1]

warning: SASL authentication failure: Internal Error -4 in server.c near line 1757
warning: xsasl_cyrus_server_get_mechanism_list: no mechanism available
fatal: no SASL authentication mechanisms
warning: process /usr/libexec/postfix/smtpd pid 1275 exit status 1
warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling


下の5行のうち、真ん中が赤字、他が黄文字でした。

追記2.
以下2つをインストールしました。
yum -y install cyrus-sasl-md5
yum -y install cyrus-sasl-plain

参考=http://kajuhome.com/patio_thread/1118.shtml

すると、エラー(赤字と黄文字)がなくなり、以下のようになりましたが、まだ送受信できません。

27C05800AEA: from=<送信元メアド>, size=1232, nrcpt=1 (queue active)
disconnect from 送信元メアドのサーバドメイン[IPアドレス1]
27C05800AEA: to=<root@example.com>, orig_to=<info@example.com>, relay=local, delay=0.03, delays=0.02/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir)
27C05800AEA: removed
statistics: max connection rate 1/60s for (smtp:IPアドレス1) at Jun 26 02:20:06

追伸3.
以下のようにtelnetでメール送信したところ、何やら送信はできていそうなのですが、結局は届きませんでした。

telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP unknown
ehlo mail.example.com
250-mail.example.com
250-PIPELINING
250-SIZE 10485760
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain AGluZm9AYWZmaWbpbmNoZS5jb2UAZHJlYW0xOTE5
235 2.7.0 Authentication successful
MAIL FROM:sample@example.com
250 2.1.0 Ok
RCPT TO:test@test.jp
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
SUBJECT:this is test
test mail
.
250 2.0.0 Ok: queued as 283FB800B29
quit
221 2.0.0 Bye
Connection closed by foreign host.


そして、その時のログが以下です。

6175F800B30: client=localhost[::1], sasl_method=plain, sasl_username=info@example.com
6175F800B30: message-id=<20170626051325.6175F800B30@mail.example.com>
6175F800B30: from=<sample@example>, size=353, nrcpt=1 (queue active)
6175F800B30: SASL authentication failed; server smtp.gmail.com[108.177.97.108] said: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtQ?5…
6175F800B30: SASL authentication failed; server smtp.gmail.com[108.177.97.109] said: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbuM?5…
disconnect from localhost[::1]
connect to smtp.gmail.com[2404:6800:4008:c00::6d]:587: Connection timed out
6175F800B30: to=<test@test.jp>, relay=none, delay=108, delays=74/0.02/33/0, dsn=4.4.1, status=deferred (connect to smtp.gmail.com[2404:6800:4008:c00::6d]:587: Co
Bad protocol version identification '\026\003\001\001"\001' from 118.193.31.182 port 54225
Did not receive identification string from 118.193.31.182
Bad protocol version identification 'GET / HTTP/1.1' from 118.193.31.182 port 39259

追記4.
ログ内のGメールのエラーもなくなり、telnetでのメール送受信も、時間差こそあれ、一応できるようになりました。
ただし、Thunderbirdではやはり両方できません。
メーラーの設定画面で、POP3とSMTP両方の入力欄に①を入れた時、②を入れた時でエラーメッセージは以下のようになります。
①mail.example.com
「あなたのアカウント設定を見つけられませんでした」
「ユーザー名またはパスワードが無効です」
②example.com = 
「アカウント設定が、指定されたサーバーを調べることにより見つかりました」
「ユーザー名またはパスワードが無効です」

つまりmail.example.comが存在しない状態になっているように思われます。
この状態をどのように回避すれば良いのでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • coinbura

    2017/06/25 20:37

    はい、そうです。分かりづらくてすみませんm(_ _)m

    キャンセル

  • TaichiYanagiya

    2017/06/26 00:29

    rsyslog は起動していますか? Docker などのコンテナ環境だと rsyslog は自動では起動しないので。

    キャンセル

  • coinbura

    2017/06/26 00:48

    ありがとうございます!rsyslogというのは固有名詞だったんですね!おかげさまで検索から、ログの取得方法が分かりました!質問にログを追記しておきます!

    キャンセル

回答 5

checkベストアンサー

0

1つ1つコマンドラインから確認していきましょう。

 SMTP-Auth

/etc/sasldb2 に登録したユーザー名(ドメイン付き)、パスワードから、AUTH PLAIN 用の文字列を作成します。

(例)
$ echo -en '\0username@domainname\0password' | base64
AHVzZXJuYW1lQGRvbWFpbm5hbWUAcGFzc3dvcmQ=

telnet で 587番ポートに接続し、認証できるかどうか確認します。

(例)
$ telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 servername ESMTP Postfix
ehlo localhost
250-servername
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain AHVzZXJuYW1lQGRvbWFpbm5hbWUAcGFzc3dvcmQ=
235 2.7.0 Authentication successful
quit
221 2.0.0 Bye
Connection closed by foreign host.

 POP 認証

/etc/{passwd,shadow} に登録したユーザー名(ドメイン無し)、パスワードから、AUTH PLAIN 用の文字列を作成します。

(例)
$ echo -en '\0username\0password' | base64
AHVzZXJuYW1lAHBhc3N3b3Jk

telnet で 110番ポートに接続し、認証できるかどうか確認します。

(例)
$ telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
auth plain AHVzZXJuYW1lAHBhc3N3b3Jk
+OK Logged in.
quit
+OK Logging out.
Connection closed by foreign host.

 メール受信について

メールログから、info@example.com 宛のメールを受信し、/etc/aliases か何かで root@example.com に転送され、root ユーザーのスプールに保存されています。
home_mailbox = Maildir/ とのことですので、root ユーザーのスプールは
/root/Maildir/ で、受信メールは /root/Maildir/new/ ディレクトリ以下に保存されていると思います。

ただし、Dovecot では root ユーザーによるログインが禁止されているので、POP, IMAP で /root/Maildir/ 以下を読むことはできません。
別のユーザーで試してみてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/26 15:06

    なるほど!ありがとうございます!!
    なんか最終局面のような気がしてきました!
    がんばって原因探ってみます♪

    キャンセル

  • 2017/06/27 10:32

    Thunderbird から POP認証に失敗したときの mamillog を確認ください。
    「受信ユーザー名」はドメイン無し、「送信ユーザー名」はドメイン付きになっていますでしょうか。

    キャンセル

  • 2017/07/03 01:30

    すみません!コメント気付いていませんでした!

    色々検索してどうやって見るのかを探してはみたのですが、mamillogというファイルを見つける事ができず、断念してしまいました。
    とりあえずはコマンドライン上からメールをやりとりし、時間が空いた時にまた挑戦してみようと思います。

    終始、ご丁寧にありがとうございましたm(_ _)m

    キャンセル

0

Thunderbird のアカウント情報自動設定機能 を使おうとしているのでしょうか?

もし、そうであれば、上記ページの「ISP サーバにおける設定ファイル」の部分の設定をして、Webサーバで、セットアップ情報を公開する必要があります。

Email アドレスが "fred@example.com" のとき,Thunderbird はまず <http://autoconfig.example.com/mail/config-v1.1.xml?emailaddress=fred@example.com> をチェックし,次に <http://example.com/.well-known/autoconfig/mail/config-v1.1.xml> をチェックします.

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/25 21:05

    手動設定で、ログインできないのであれば、ファイアウォールの設定等は、どうなっているでしょうか?

    キャンセル

  • 2017/06/25 21:05

    /var/log/maillog にエラーメッセージが表示されていると思いますので、確認して、質問に追記していただけないでしょうか?

    キャンセル

  • 2017/06/25 21:45

    firewalldが起動しています。

    ログは、色々調べてみたのですが、以下コマンドを入力したところ、全部空でした。
    /var/log/messages
    /var/log/maillog
    vi /etc/rsyslog.conf
    vi /etc/syslog.conf

    キャンセル

0

POP3なので、Postfixは無関係です。POP3はdovecotが担当します。
POP3のポート番号である110は、dovecotになっているので、正しいです。なお、25 587はmasterが正しいです。

エラーの原因は、メッセージの通り「あなたのアカウント設定を見つけられませんでした」だと思いますよ。そういうメッセージが出ている以上、dovecotに正しく接続できています。純粋にアカウントが無いだけでしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/26 01:04

    う~ん、Thunderbird側は間違いなく一致してるんですよね。。。

    キャンセル

  • 2017/06/26 01:13

    > う~ん、Thunderbird側は間違いなく一致してるんですよね。。。
    そうは思っても、実際にはエラーです。
    ユーザー名:受信サーバー欄には、useradd & passwd したときのユーザー名と同じ物をいれていますか?ドメインを付けて入れてたりしませんか?

    キャンセル

  • 2017/06/26 02:25

    何度確認しても間違いなく同じものを入れています。

    キャンセル

0

まずは、ユーザ名、パスワードを確認しましょう。
sasldblistusers2
← Thunderbirdで入力した内容と同じですか?

次に/etc/sasldb2の所有者を確認
ls -la /etc/sasldb2
← 所有者がpostfixになっていますか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/25 21:43

    ありがとうございます♪

    >sasldblistusers2
    Thunderbirdと同じ内容でした。

    >ls -la /etc/sasldb2
    postfixになっていました。

    キャンセル

0

>27C05800AEA: from=<送信元メアド>, size=1232, nrcpt=1 (queue active)
>disconnect from 送信元メアドのサーバドメイン[IPアドレス1]
>27C05800AEA: to=<root@example.com>, orig_to=<info@example.com>, relay=local, >delay=0.03, delays=0.02/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir)
>27C05800AEA: removed
>statistics: max connection rate 1/60s for (smtp:IPアドレス1) at Jun 26 02:20:06

上記より、送信者からinfo@example.comへメールが送信されたことがわかります。
参考にされたhttps://centossrv.com/postfix.shtmlの通りとすれば、
新規ユーザー追加時に自動でホームディレクトリに受信したメールがあるはずなんですが・・・

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/26 12:47

    ありがとうございます。
    ユーザー作成の瞬間に送信されていたんですね!
    がんばって、どこに受信したか探してみます!

    キャンセル

  • 2017/06/26 13:01

    書き方が悪くてごめんなさい。
    新規ユーザー追加時に自動でホームディレクトリに受信したメールがあるはずなんですが・・・ は
    新規ユーザー追加時に自動でホームディレクトリにメール受信フォルダが作成されるという意味です。
    メールが送信されたのは、追記いただいたログから判断できます。

    キャンセル

  • 2017/06/26 13:11

    ああ、なるほど!
    二度手間させてしまってすみませんm(_ _)m
    確かにnewフォルダが作成されていました♪
    その中身はまだどうやって確認するのかが不明で模索中です。。。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.86%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる