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

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

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

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

Postfix

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

Q&A

1回答

6728閲覧

Postfix Dovecot メールの送受信

h_h0323

総合スコア14

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

Postfix

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

0グッド

0クリップ

投稿2016/05/20 08:41

編集2016/05/20 11:53

さくらのクラウドにてメールサーバーを構築しております。

「Postfix」と「Dovecot」を利用しての構築をしており、下記のサイトを参考にしています。
http://www.unix-power.net/linux/centos_postfix.html

メールソフト(Becky)にて作成したユーザーの設定をおこない、メールのテストをおこなっているのですが下記エラーにて躓いております。

[smtp]

  • clj10965 postfix/local[11750]: warning: maildir access problem for UID/GID=500/501: create maildir file /var/www/Maildir/tmp/: Permission denied
  • clj10965 postfix/local[11750]: warning: perhaps you need to create the maildirs in advance

[pop3]
Error: stat(/var/www/Maildir/tmp) failed: Permission denied (euid=500(user) egid=501(usergroup) missing +x perm: /var/www/Maildir, euid is not dir owner)

  • clj10965 dovecot: pop3(user): Error: Couldn't open INBOX: Internal error occurred. Refer to server log for more information.

と両方ともPermission関連でエラーがでており、そもそも「/var/www/Maildir/」に設定したつもりはないのですがこちらはデフォルトでこのパスになるのでしょうか?
それとも変更が可能なのでしょうか?

また、/home/user/Maildirとは別なのでしょうか?

初めての構築のため、いたらないところもありますがご教示お願いします。

【追記】

該当ユーザーのホームディレクトリーを /var/www/ に変更したのではないですか?

の変更により受信はできるようになりました。
有難う御座います。

送信の方がうまくいかず困っております。
ログをみたところ

  • clj10965 postfix/postfix-script[12988]: stopping the Postfix mail system
  • clj10965 postfix/master[12965]: terminating on signal 15
  • clj10965 postfix/postfix-script[13060]: starting the Postfix mail system
  • clj10965 postfix/master[13061]: daemon started -- version 2.6.6, configuration /etc/postfix

とでており、解決方法がわからず大変困っております。。

postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = no
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
home_mailbox = $HOME/Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailbox_size_limit = 102400000
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 102400000
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = example.com
myhostname = mail.example.com
mynetworks = 127.0.0.0/8, クラウドのIP
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relayhost = [mail.example.com]
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_sasl_mechanism_filter = plain
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
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 = $myhostname
unknown_local_recipient_reject_code = 550

となります。

また、mynetworksにはクラウドの「ネットワーク」を掲載しています。
ここに自信がないのですが、あっておりますでしょうか?

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

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

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

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

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

TaichiYanagiya

2016/05/20 08:50

該当ユーザーのホームディレクトリーを /var/www/ に変更したのではないですか?
CHERRY

2016/05/20 09:44

postcof -n で、postfix の設定で、デフォルトから変更されている部分だけが、表示されるので、ドメインやIPアドレス等を隠して、公開されると回答がつきやすいと思います。
h_h0323

2016/05/20 11:54 編集

TaichiYanagiya様 CHERRY様 ご回答有難うございます。 >該当ユーザーのホームディレクトリーを /var/www/ に変更したのではないですか? の変更により受信はできるようになりました。 有難う御座います。 送信の方がうまくいかず困っております。 追記いたしましたので、見ていただけますでしょうか?
guest

回答1

0

ログにはメールクライアントから接続した記録がないのですか?
mailq コマンドでキューに溜まっていませんでしょうか。

設定について、relayhost を自ホストにしても外部へのメールがループしますので、削除する(=MXに直接送信する)か、正しいリレー先を設定してください。

mynetworks にはメールクライアントのIPアドレスを設定すれば認証なしで送信できます。
メールクライアントから認証ありで送信するのであれば、permit_sasl_authenticated が効くので、mynetworks にはメールクライアントのIPアドレスを設定しなくてもよいですが、暗号化する設定(smtpd_tls_*)を入れた方がいいと思います。

投稿2016/05/20 12:13

TaichiYanagiya

総合スコア12146

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

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

h_h0323

2016/05/24 06:59

ご連絡が遅くなり申し訳ありません。 あれから何度か試しているのですが、一向にできる気がしなく大変困っております。 エラーログでは - clj10965 dovecot: pop3(hosaka): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0 - clj10965 postfix/postfix-script[21489]: stopping the Postfix mail system - clj10965 postfix/master[21409]: terminating on signal 15 - clj10965 postfix/postfix-script[21561]: starting the Postfix mail system - clj10965 postfix/master[21562]: daemon started -- version 2.6.6, configuration /etc/postfix - clj10965 dovecot: master: Warning: Killed with signal 15 (by pid=21573 uid=0 code=kill) - clj10965 dovecot: master: Dovecot v2.0.9 starting up (core dumps disabled) - clj10965 postfix/smtpd[21757]: connect from mail.example.ne.jp[164.46.1.45] - clj10965 postfix/smtpd[21757]: NOQUEUE: reject: RCPT from mail.example.ne.jp[IP]: 554 5.7.1 <mail.example.ne.jp[IP]>: Client host rejected: Access denied; from=<test@hogehoge1.com> to=<test@hogehoge2.com> proto=ESMTP helo=<mail.example.ne.jp> - clj10965 postfix/smtpd[21757]: disconnect from mail.example.ne.jp[IP] test@hogehoge1.com はmail.example.ne.jpのサーバーを利用しているアドレスです。 test@hogehoge2.com は現在構築中(mail.example.com)のアドレスです。 てでており、どのようにしてよいかわからない状態にございます。。
TaichiYanagiya

2016/05/24 07:15

認証なしで送信しようとしていますね。 mynetworks に接続元(メールクライアントなど)の IPアドレス(164.46.1.45/32)が含まれているか確認ください。
h_h0323

2016/05/24 07:47

mynetworks に164.46.1.45/32を追加したところ他のサーバーのメールから送信してみたところエラーなしで送れましたが、どうやら受信ができていない状態です。。。 また、IPアドレス(164.46.1.45/32)が変わった場合(他のメールクライアントのIP)などを利用する場合も追加しないといけないのでしょうか?? なにを言いたいかといいますといろんなユーザーが現在構築しているサーバーにメールを送れるようにしたいため、特定のIPはなしにしたいのですが。。。
TaichiYanagiya

2016/05/24 09:23

「受信できていない」は、送信したメールが相手側MTA で受信できないのでしょうか、それとも、送信の件とは別に、このメールサーバーで受信できないのでしょうか。 前者であれば、相手側MTA を確認ください。 後者であれば、mydestination に受信ドメインを設定ください(test@hogehoge2.com を受信したいのであれば mydestination に hogehoge2.com を追加)。 送信元IPアドレスが不定の場合、SMTP-Auth でリレーを許可するよう設定ください。 現在の設定で「smtpd_sasl_auth_enable = yes」ですので、25番ポートで有効になっています。master.cf で smtps や submission を有効にして SMTP-Auth + 暗号化する方法もあります。 後はユーザー・パスワード情報をどこに持たせるのか(/etc/{passwd,shadow}, /etc/sasldb2, LDAP, MySQL, ...)、どう連携するのか(saslauthd+PAM, sasldb2直接, LDAP, MySQL, dovecot-auth, ...)を設計、実装する必要があります。
TaichiYanagiya

2016/05/24 15:15

すみません。 SMTP-Auth について、いろいろ選択肢を書きましたが、dovecot 側で既に認証の設定をしていると思うので、それに合わせればいいです。 dovecot が PAM->/etc/{passwd,shadow} で認証しているのであれば、postfix も saslauthd->PAM->/etc/{passwd,shadow} で認証すればよいかと。 saslauthd を起動すれば、デフォルトの設定で上記の経路となると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問