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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

5回答

8424閲覧

Postfixが正しく起動しない

coinbura

総合スコア106

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

0クリップ

投稿2017/06/25 11:22

編集2017/06/26 14:36

以下を参考に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が存在しない状態になっているように思われます。
この状態をどのように回避すれば良いのでしょうか?

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/06/25 11:30

設定などでのトラブルはまず、何よりログを調べることが最重要です。
coinbura

2017/06/25 11:34

なるほど!ログが出力されているのですね!出し方、調べてみます!
CHERRY

2017/06/25 11:36

「あなたのアカウント設定を見つけられませんでした」 Thunderbirdの自動設定画面のエラーでしょうか?
coinbura

2017/06/25 11:37

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

2017/06/25 15:29

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

2017/06/25 15:48

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

回答5

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 03:11

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coinbura

2017/06/26 04:07

ご丁寧なアドバイスありがとうございます!! コマンドラインから確認していったところ、 POP 認証については例の通りにうまくいきました。 しかし、SMTP-Authに関しては # telnet localhost 587 Trying ::1... Connected to localhost. Escape character is '^]'. 220 mail.example.com ESMTP unknown ehlo localhost 250-mail.example.com 250-PIPELINING 250-SIZE 10485760 250-VRFY 250-ETRN 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN audh plain AGluZm9BYWZmaWxpbmNoZ45jb20AZHJlJW0xOTE5 502 5.5.2 Error: command not recognized となってしまいました。 これはつまり、Postfixが正常に起動していない、ということなのでしょうか? ちなみにメール転送に関してはまだ理解が追いついていないのですが、とりあえずは以下のような結果が得られました。 # ls -tl /root/Maildir/ 合計 12 drwx------ 2 root root 4096 6月 26 03:11 new drwx------ 2 root root 4096 6月 26 03:11 tmp drwx------ 2 root root 4096 6月 26 02:01 cur
coinbura

2017/06/26 04:26

あ!すみません! 修正したところ、以下になりました! auth plain AGluZm9BYWZmaWxpbmNoZ45jb20AZHJlJW0xOTE5 235 2.7.0 Authentication successful
TaichiYanagiya

2017/06/26 04:37

では、Thunderbird から接続できると思います。
coinbura

2017/06/26 04:50

え?そうなんですね。 220 mail.example.com ESMTP unknown は特に気にしなくても良いのでしょうか?
coinbura

2017/06/26 05:36

すみません。 220 mail.example.com ESMTP unknown は自分で隠蔽化してたからなんですね。 とりあえず、telnetでメール送信してみましたが、やはりまだ届かないみたいです。 OP25B対策がうまくいってないのかと思って、もう一度入力してみたのですが、同様にうまくいかず・・・ 結果を質問に追記しましたので、見ていただければ幸いですm(_ _)m
coinbura

2017/06/26 06:06

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

2017/06/27 01:32

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

2017/07/02 16:30

すみません!コメント気付いていませんでした! 色々検索してどうやって見るのかを探してはみたのですが、mamillogというファイルを見つける事ができず、断念してしまいました。 とりあえずはコマンドライン上からメールをやりとりし、時間が空いた時にまた挑戦してみようと思います。 終始、ご丁寧にありがとうございましたm(_ _)m
guest

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/25 21:16

granfa_yuzo

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coinbura

2017/06/26 03:47

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

2017/06/26 04:01

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

2017/06/26 04:11

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

0

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

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

投稿2017/06/25 11:52

granfa_yuzo

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coinbura

2017/06/25 12:43

ありがとうございます♪ >sasldblistusers2 Thunderbirdと同じ内容でした。 >ls -la /etc/sasldb2 postfixになっていました。
guest

0

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

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

投稿2017/06/25 11:49

otn

総合スコア84538

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coinbura

2017/06/25 12:02

なるほど!ありがとうございます♪ 以下サイトでチェックしてみたところ、 http://www.cman.jp/network/support/port.html example.comでは「アクセスできました」 mail.example.comでは、「アクセスできませんでした」 となるのは、アカウント設定が見つけられませんでした、と関係するでしょうか? アカウント=AUTH用ユーザー設定なのでしょうか?
otn

2017/06/25 12:55

> と関係するでしょうか? 関係ないと思います。 > アカウント=AUTH用ユーザー設定なのでしょうか? 「AUTH用ユーザー設定」って何でしょうか?
otn

2017/06/25 13:19 編集

「AUTH用ユーザー設定」という記述が見当たりませんが。 メールユーザー追加の、 useradd ユーザー名 passwd ユーザー名 はやっていますか?
coinbura

2017/06/25 13:49

あ、AUTH用ユーザー設定って言葉は、すみません、気にしないでください。 情報の整合性がとれているか確認するためにいろんなサイト見ていて、そのどこかでそう書いてあったのを使っちゃってました(^^A useradd、passwdともに行なっています。
otn

2017/06/25 14:00

> useradd、passwdともに行なっています。 では、Thunderbird側の入力ミスですかね。
coinbura

2017/06/25 16:04

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

2017/06/25 16:13

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

2017/06/25 17:25

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

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 11:45

編集2017/06/25 11:47
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coinbura

2017/06/25 12:02

ちょっと難易度が高くて理解できていないのですが、 手動で、mail.example.com、110、通常のパスワード、等と設定しいるのですが、この場合もそのxml設定は必要でしょうか?
CHERRY

2017/06/25 12:04

手動で、設定している場合は、関係ないです。
CHERRY

2017/06/25 12:05

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

2017/06/25 12:05

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

2017/06/25 12:45

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問