読者です 読者をやめる 読者になる 読者になる

Carpe Diem

備忘録。https://github.com/jun06t

メールサーバの設定【クライアントソフトを用いた送受信】

dovecotというツールを使ってメールクライアントに対応させます。これはPOP3IMAPに対応しています。 とりあえずインストール $ sudo aptitude install dovecot-common dovecot-pop3d dovecot-imapd インストールが完了したら設定ファイルを編集します。 # emacs -nw /etc/dovecot/dovecot.conf # 53行目:コメント解除し変更 (平文パスワードも許可) disable_plaintext_auth = no # 95行目:コメント解除し変更 (SSLなし) ssl = no # 230行目:コメント解除して追記 mail_location = maildir:~/Maildir # 893行目:追記 mechanisms = plain login # 1120行目:以下のように変更 socket listen { # コメント解除 #master { # Master socket provides access to userdb information. It's typically # used to give Dovecot's local delivery agent access to userdb so it # can find mailbox locations. #path = /var/run/dovecot/auth-master #mode = 0600 # Default user/group is the one who started dovecot-auth (root) #user = #group = #} client { # コメント解除 # The client socket is generally safe to export to everyone. Typical use # is to export it to your SMTP server so it can do SMTP AUTH lookups # using it. path = /var/spool/postfix/private/auth-client # コメント解除し変更 mode = 0660 # コメント解除 user = postfix # 追記 group = postfix # 追記 } # コメント解除 } # コメント解除 再起動します。 # service dovecot restart ◆メールクライアント設定 クライアントのGUIの設定にそっていけば大抵大丈夫です。注意なのは認証方式をPostfixで記述した中のものにすること暗いでしょうか。 ただPostfixやSASLの設定がちゃんと出来ていないと認証エラーが返ってくるので、mail.logを確認しながら設定を見直してみましょう。 ひとつ不思議なのは受信メールサーバや送信メールサーバのアドレスがホスト名(mail.server.com)ではなかった点。単純にドメイン(server.com)でした。これは何か設定がおかしいのだろうか。色々と検証が必要ですね。 ◆本当に認証できているか確認 LOGINやPLAINの場合には、Base64エンコードで認証まで確認できるのでやってみます。まずは、PLAINの場合です。認証に使用するユーザを「user001」、パスワードを「hoge」とすると認証に必要な情報は、以下のコマンドで変換できます。途中で入る0に注意してください。 # perl -MMIME::Base64 -e 'print encode_base64("user001\0user001\0hoge");' dXNlcjAwMQB1c2VyMDAxAGhvZ2U= # telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 mail.local-debian.jp ESMTP Postfix (Debian/GNU) EHLO local 250-mail.local-debian.jp 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN AUTH PLAIN dXNlcjAwMQB1c2VyMDAxAGhvZ2U= 235 2.7.0 Authentication successful QUIT 221 2.0.0 Bye Connection closed by foreign host. 太字の部分が入力する内容です。「AUTH PLAIN」の後ろにエンコードした情報を付けて入力します。 # perl -MMIME::Base64 -e 'print encode_base64("user001");' dXNlcjAwMQ== # perl -MMIME::Base64 -e 'print encode_base64("hoge");' aG9nZQ== これらの情報を使ってログインします。 # telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 mail.local-debian.jp ESMTP Postfix (Debian/GNU) EHLO local 250-mail.local-debian.jp 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN AUTH LOGIN 334 VXNlcm5hbWU6 dXNlcjAwMQ== 334 UGFzc3dvcmQ6 aG9nZQ== 235 2.7.0 Authentication successful QUIT 221 2.0.0 Bye Connection closed by foreign host. 設定が正しければこれで認証できます。 ソース: Dovecot インストール/設定 PostfixでSMTP-AUTHを実装する方法(SASL編)