/var/log/syslog
10:33 solaris postfix/smtp[18719]: [ID 947731 mail.crit] fatal: open database /etc/postfix/saslpasswd.db: No such file or directory
10:34 solaris postfix/master[18715]: [ID 947731 mail.warning] warning: process /usr/libexec/postfix/smtp pid 18719 exit status 1
10:34 solaris postfix/master[18715]: [ID 947731 mail.warning] warning: /usr/libexec/postfix/smtp: bad command startup -- throttling
となっているのですがsaslpasswdはあります。saslpasswd.dbにするために何かコマンドを打つ必要があるのでしょうか?
また、後に出ているsmtpのエラーがよくわかりません、参考になるサイトなどご紹介いただけると幸いです
/etc/postfix/main.cf
alias_maps = dbm:/etc/mail/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
inet_interfaces = all
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydestination = $myhostname, localhost
myhostname = solaris
mynetworks = 192.168.1.2, 127.0.0.0/8
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
relayhost = [192.168.1.3]:587
sample_directory = /etc/postfix
sendmail_path = /usr/lib/sendmail
setgid_group = postdrop
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/saslpasswd
smtp_sasl_security_options = noanonymous
smtpd_banner = $myhostname ESMTP $mail_name
unknown_local_recipient_reject_code = 550
/etc/postfix/saslpasswd
[192.168.1.3]:587 username:password
No.8ベストアンサー
- 回答日時:
>smtp_sasl_security_options =
>に変えたのですが同じエラーでした。
変更後、postfix reloadは実行しましたか?
これでうまく行くか分かりませんが、main.cfに
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain, login
の設定(上修正と下追加)をして、設定ファイルの際再読み込み(postfix reload)をして再度メールを送信した場合にはどうですか?
参考URL:http://www.postfix.org/SASL_README.html#client_s …
No.7
- 回答日時:
>make makefilesでno.2の回答の補足でお書きになったCCARGS、AUXLIBS共に指定していますか?
念のため書いておくと
make makefiles CCARGS="-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl" AUXLIBS="-L/usr/local/lib -lsasl2"
です。
この回答への補足
付け加えるとできました。
たぶん最後の問題となるSASLのエラーです。
postfix/smtp[23573]: [ID 947731 mail.warning] warning: SASL authentication failure: No worthy mechs found
postfix/smtp[23573]: [ID 197553 mail.info] A2AAC3AB17: to=<aaa@hogehoge.co.jp>, relay=mail.hogehoge.co.jp[999.999.999.999]:587, delay=1388, delays=1388/0.05/0.09/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server mail.hogehoge.co.jp[999.999.999.999]: no mechanism available
ということでtelnetをすると
Trying 999.999.999.999...
Connected to mail.hogehoge.co.jp (999.999.999.999).
Escape character is '^]'.
220 mail.hogehoge.co.jp ESMTP Postfix
EHLO aaaa
250-mail.hogehoge.co.jp
250-PIPELINING
250-SIZE 5120000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250 8BITMIME
だったため、MD5類が不可だろうと思い、
smtp_sasl_security_options =
に変えたのですが同じエラーでした。
sasl自体に何かコマンドを入れて作り直さないといけないような話もあるのですがどうすればよいのでしょうか??
No.6
- 回答日時:
-------8<-------8<-------8<-------8<-------8<-------8<-------8<-------
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl -Dstrcasecmp=fix_strcasecmp -Dstrncasecmp=fix_strnasecmp -g -O -I. -I../../include -DSUNOS5 -o smtpd smtpd.o smtpd_token.o smtpd_check.o smtpd_chat.o smtpd_state.o smtpd_peer.o smtpd_sasl_proto.o smtpd_sasl_glue.o stpd_proxy.o smtpd_xforward.o smtpd_dsn_fix.o smtpd_milter.o ../../lib/libmaster.a ../../lib/libtls.a ../../lib/libdns.a ../../lib/libxsasl.a ../../lib/libmilter.a ./../lib/libglobal.a ../../lib/libutil.a -lresolv -lsocket -lnsl
-------8<-------8<-------8<-------8<-------8<-------8<-------8<-------
これで全部ですか?
Cyrus SASLライブラリ(-L/usr/local/lib -lsasl2)の指定がないですね。
これだとシンボル参照エラーになりますね。
make makefilesでno.2の回答の補足でお書きになったCCARGS、AUXLIBS共に指定していますか?
No.5
- 回答日時:
Cyrus SASLのライブラリにある関数がシンボル参照エラーになっているみたいですね。
ちなみにシンボル参照エラーになる前にsmtpdのリンクを行っているところ(-o smtpdがあるところ)があると思うのですが、その部分を出す事はできますか?
この回答への補足
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl -Dstrcasecmp=fix_strcasecmp -Dstrncasecmp=fix_strnasecmp -g -O -I. -I../../include -DSUNOS5 -o smtpd smtpd.o smtpd_token.o smtpd_check.o smtpd_chat.o smtpd_state.o smtpd_peer.o smtpd_sasl_proto.o smtpd_sasl_glue.o stpd_proxy.o smtpd_xforward.o smtpd_dsn_fix.o smtpd_milter.o ../../lib/libmaster.a ../../lib/libtls.a ../../lib/libdns.a ../../lib/libxsasl.a ../../lib/libmilter.a ./../lib/libglobal.a ../../lib/libutil.a -lresolv -lsocket -lnsl
未定義の 最初に参照している
ここらへんでしょうか??
No.4
- 回答日時:
make tidy してから、再度make makefiles ~ を実行したらどうですか?
ところでNo.3の参考URLのページみましたか?
Building Postfix with Cyrus SASL supportの所で、
% make tidy # if you have left-over files from a previous build
とあります。
この回答への補足
毎回tidyしてからmake makefiles~~をしてmakeしてmake installの順番でしています。
今も再度やってみましたが同じエラーです。
No.3
- 回答日時:
>CCARGS="-DUSE_SASL_AUTH -I/usr/local/include/sasl"
CCARGS="-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl"
参考URL:http://www.postfix.org/SASL_README.html#build_po …
この回答への補足
make時に
未定義の 最初に参照している
シンボル ファイル
sasl_errstring ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_decode64 ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_server_start ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_version_info ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_server_new ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_listmech ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_done ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_getprop ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_encode64 ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_server_step ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_server_init ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_setprop ../../lib/libxsasl.a(xsasl_cyrus_server.o)
sasl_dispose ../../lib/libxsasl.a(xsasl_cyrus_server.o)
ld: 重大なエラー: シンボル参照エラー。smtpd に書き込まれる出力はありません。
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `smtpd'
Current working directory /postfix-2.3.3/src/smtpd
*** Error code 1
make: Fatal error: Command failed for target `update'
となります。
パスが違うだけの問題なのでしょうか??
No.2
- 回答日時:
>できた形式がdbではなかったのでdbm(だっけ?)で設定変えて動きました。
デフォルトのデータベース形式が dbm なんですかね。
例) デフォルトのデータベース形式の確認方法
# postconf -d | grep default_database_type
default_database_type = hash
>ただまだ問題はあって「aaa@bbb」と送ったはずが
>「aaa@bbb.localhost」と勝手にlocalhostがmailqを打つとついているのが確認されました。
Postfixのドキュメントには、ドメインのないアドレスはサポートしていないと書かれています。
そのため、bbbの部分をホスト名と思い、足りないドメイン部分(mydomain)を追加しているのだと思います。
なのでご希望の事は設定上可能ですが、Postfixのドキュメント通りだとドメインがないアドレスになりますので正常にメールを送れない可能性があります。
参考URL
Postfix Configuration Parameters
Postfix main.cf file format
append_at_myorigin と append_dot_mydomain
http://www.postfix.org/postconf.5.html#append_at …
以下、日本語訳
Postfix設定パラメータ
Postfix main.cf ファイルフォーマット
append_at_myorigin と append_dot_mydomain
http://www.kobitosan.net/postfix/trans-2.2/jhtml …
>myoriginを消したりもしたのですが・・
これコメントアウトのようにした場合なら、myoriginの規定値は$myhostnameなのでこれが設定されている事になります。
この回答への補足
内部で動作確認ができないということでちゃんとしたドメイン名つきのアドレスにしたら
postfix/smtp[13906]: [ID 947731 mail.warning] warning: unsupported SASL client implementation: cyrus
postfix/smtp[13906]: [ID 947731 mail.crit] fatal: SASL library initialization
となりました。googleで調べた結果make時のパスに問題があるという情報にたどり着いたのですが、
make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/local/include/sasl" AUXLIBS="-L/usr/local/lib -R/usr/local/lib -lsasl2"
でやっても動きません。何かおかしいのでしょうか?
以下、必要そうなファイルのパス?
#ls /usr/local/lib/
libdb-4.4.a
libdb-4.4.la
libdb-4.4.so
libdb-4.so -> libdb-4.4.so
libdb.a
libdb.so -> libdb-4.4.so
libsasl2.la
libsasl2.so -> libsasl2.so.2.0.22
libsasl2.so.2 -> libsasl2.so.2.0.22
libsasl2.so.2.0.22
sasl2(ディレクトリ)
#ls /usr/local/lib/sasl2
libanonymous.la
libanonymous.so -> libanonymous.so.2.0.22
libanonymous.so.2 -> libanonymous.so.2.0.22
libanonymous.so.2.0.22
libcrammd5.la
libcrammd5.so -> libcrammd5.so.2.0.22
libcrammd5.so.2 -> libcrammd5.so.2.0.22
libcrammd5.so.2.0.22
libdigestmd5.a
libdigestmd5.la
libgssapiv2.la
libgssapiv2.so -> libgssapiv2.so.2.0.22
libgssapiv2.so.2 -> libgssapiv2.so.2.0.22
libgssapiv2.so.2.0.22
libotp.a
libotp.la
libplain.la
libplain.so -> libplain.so.2.0.22
libplain.so.2 -> libplain.so.2.0.22
libplain.so.2.0.22
libsasldb.la
libsasldb.so -> libsasldb.so.2.0.22
libsasldb.so.2 -> libsasldb.so.2.0.22
libsasldb.so.2.0.22
#ls /usr/local/include/sasl
hmac-md5.h md5.h md5global.h prop.h sasl.h saslplug.h saslutil.h
No.1
- 回答日時:
>saslpasswd.dbにするために何かコマンドを打つ必要があるのでしょうか?
postmapコマンドでデータベースを生成しないといけません。
main.cfファイル内で
>smtp_sasl_password_maps = hash:/etc/postfix/saslpasswd
と指定されているようですので
# postmap hash:/etc/postfix/saslpasswd
でsaslpasswd.dbが生成されると思います。
>また、後に出ているsmtpのエラーがよくわかりません
○ログ 1行目
saslpasswd.db がない事が smtp にとっては [ID 947731 mail.crit] とあるようにログの重要度が crit(critical) つまり 致命的なエラー。
○ログ 2行目
ログ1行目の致命的なエラーを受けて smtp が終了ステータス1で終了したとこをpostfixに関係するプログラムを起動するpostfixマスタープロセスのmasterがログに出力。
○ログ 3行目
ログ 2行目のsmtpの終了を受けて postfixマスタープロセスのmasterが smtp を起動出来なかった(=postfixを起動出来なかった)旨のログを出力。
と言った感じでしょうか。
すみません。質問してからすぐ思い出してコマンド打ちました。
できた形式がdbではなかったのでdbm(だっけ?)で設定変えて動きました。
ただまだ問題はあって「aaa@bbb」と送ったはずが
「aaa@bbb.localhost」と勝手にlocalhostがmailqを打つとついているのが確認されました。
それが理由で(?)キューにたまったままです・・
どうやらmydomainをかえるとlocalhostの部分が変わったので関係しているのはわかったのですが、勝手に末尾に付くこと事態を避けたいので方法がわからない状態です。
myoriginを消したりもしたのですが・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- UNIX・Linux Linuxの実行結果を修正したいです。 6 2022/11/22 12:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
postfixでユーザごとに最大容量...
-
postfixでユーザアカウントがな...
-
Postfixでの受信について
-
postfix smtpサーバーリレーがT...
-
postfixでメールの受信ができま...
-
phpからメールを送信しようとす...
-
メール受信時postfixでPHPファ...
-
DNSサーバを設定したのですがns...
-
エラーメールで"too many hops"...
-
パスワード設定していないユー...
-
リモートデスクトップ接続でパ...
-
同一のホスト名で何か問題があ...
-
同じ独自ドメインを2つのサーバ...
-
ssl_request_logの必要性について
-
「DNSサーバーを自動的に取得す...
-
コマンドでのFTP転送が進まない。
-
ワークグループ設定のPCの名前解決
-
エクセルで#N/Aを含めた平均値...
-
アウトルックで送信時に「名前...
-
Linux HTML形式でメール送信す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postfix smtpサーバーリレーがT...
-
postfixでdocomoやyahooなどの...
-
phpからメールを送信しようとす...
-
Postfixで外部にメール送信がで...
-
postfixとdovecotでメールサー...
-
telnetでポート110に繋がらない
-
postfixでユーザごとに最大容量...
-
postfix+Dovecotでメール受信で...
-
postfix設定について
-
postfixでメールの受信ができま...
-
postfixを利用しているのを隠し...
-
Postfix+mailmanでのメール送信
-
Postfixで送信ができない
-
dovecotでpop受信が出来ません
-
Postfix メールを別のサーバー...
-
自宅Macでメールサーバの構築に...
-
Postfixの起動出来ない
-
postfix 送信できるが受信できない
-
postfixのSMPT_AUTH設定
-
postfix:aaa.bbb.ac.jpからし...
おすすめ情報