• 締切済み

postfixとmysqlのバーチャルアドレスについて

現在mysqlにてバーチャルメールアドレスを作成し、メールを受信した場合、実在ユーザーのtestに転送するように設定を行っているのですが、以下のようなエラーが出て受信できません。 例として、 ドメイン:example.com バーチャルアドレス:aaa@example.com とします。 <test@com.com> (expanded from <aaa@example.com>): host mx10.ncsdi.com[XXX.XXX.XXX.XXX] said: 553 5.3.0 <test@com.com>... 5.1.1 Mailbox does not exist (in reply to RCPT TO command) エラーを見てみるとドメインのところが間違っているとは思うのですが、ここの設定ってどこを変更すればいいのでしょうか? 今までこのようなエラーが出た事がなくググッて見たのですが、参考になる情報が見当たりません。 どなたかご教授お願いします。

  • hana43
  • お礼率49% (105/212)

みんなの回答

回答No.2

転送先に「test」ではなく「test@example.com」と書けばいいのでは? また(関係ないかもしれないけど)、/etc/hosts はどうなっていますか?

回答No.1

「test@com.com」へ転送しようとしているようですが、どうやって設定しましたか? postfixadminであればブラウザ上から変更できますが、mysqlのデータを直接編集? またはaliasesなどの設定ファイルを使用していますか?

hana43
質問者

補足

早速ありがとうございます。 えっと、もしかしたら私の転送という表現がちょっと違っていたように思います。 mysqlにてaaa@example.comのアドレスにメールが届いた場合、ユーザーtestへ送信?転送するようにmysqlに設定しております。 ちなみにbbb@example.comのアドレスもユーザーtestへ送信するようにしております。 aliasesは今回の場合は利用しておりません。 今回、test@com.comの部分がなぜそうなったか分かりません。 普通であればtest@example.comとなると思うのですが、今回はなぜかtest@com.comになってしまい・・・。 よろしくお願いします。

関連するQ&A

  • phpからのメール送信

    サーバにはpostfix/phpがインストールされており mb_send_mail関数を使ってメールを送信しております。 example.comというドメインを例として説明すると fromがtest@example.comというメールアドレスでは問題なく送ることができるのですが、 ドメインをexample.com→mail.example.comと変更し、test@mail.example.comというアドレスで送ろうとすると maillog上はtest@mail.example.comから送っていることになっているのですが、 メーラーで受信するとformがtest@example.comになっております。 サブドメインのmail.example.comから送るようにするにはどのようにしたらよろしいでしょうか? main.cf virtual_alias_domains=example.com mail.example.com virtual_alias_maps = hash:/etc/mail/virtual /etc/mail/virtual test@example.com test test@mail.example.com test

  • postfixでバーチャルドメインの設定が出来ません

    お世話になります。 postfixでweb上の説明ページとオライリーの本を参照して 「バーチャルドメイン(仮想アカウントを利用した個別ドメイン)」 を実現したいのですが、「main.cf」で指定した場所に配送されません。 また「more /var/log/maillog」を見てもエラーの旨の出力がないので原因が不明の状態です。 お忙しい中恐縮ですが、識者の方にご教授お願いしたいです。 ■1.main.cfを修正、virtual、virtual_aliasを追加 main.cf(の追加項目): virtual_mailbox_domains = otherdomain.com virtual_mailbox_base = /usr/local/vmail virtual_mailbox_maps = hash:/etc/postfix/virtual virtual_alias_maps = hash:/etc/postfix/virtual_alias virtual_uid_maps = static:1000 virtual_gid_maps = static:1000 /etc/postfix/virtual(の中身): test@mydomain.com test /etc/postfix/virtual_alias(の中身): (空です) ■2.設定後以下のコマンドを打つ virtual適用 # /usr/sbin/postmap /etc/postfix/virtual virtual_alias適用 # /usr/sbin/postmap /etc/postfix/virtual_alias postfix再起動 # /etc/init.d/postfix restart 特にエラーなし ■3.rootからmailコマンドにてテスト # mail test@mydomain.com Subject:test test . Cc: ■4.配送されているか確認 # cd /usr/local/vmail # ls -a なにもありません。。。。 5.maillogにエラーが出ているか確認 Jun 21 19:45:23 mydomain postfix/postfix-script: stopping the Postfix mail system Jun 21 19:45:23 mydomain postfix/master[26055]: terminating on signal 15 Jun 21 19:45:23 mydomain postfix/postfix-script: starting the Postfix mail system Jun 21 19:45:23 mydomain postfix/master[26126]: daemon started -- version 2.3.3, configuration /etc/postfix Jun 21 19:45:37 mydomain postfix/pickup[26128]: EE95745804BB: uid=0 from=<root> Jun 21 19:45:37 mydomain postfix/cleanup[26133]: EE95745804BB: message-id=<200906 21104537.EE95745804BB@mydomain.com> Jun 21 19:45:37 mydomain postfix/qmgr[26129]: EE95745804BB: from=<root@mydomain.com >, size=274, nrcpt=1 (queue active) Jun 21 19:45:37 mydomain postfix/local[26135]: EE95745804BB: to=<test@mydomain.com> , relay=local, delay=0.02, delays=0.02/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox) Jun 21 19:45:37 mydomain postfix/qmgr[26129]: EE95745804BB: removed 特にエラーの出力はなし。。。 6.以下を試してみましたがだめでした。 ・「virtual_transport = virtual」追加 ・「virtual_transport = lmtp:unix:/var/spool/postfix/private/lmtp」追加 ・「virtual_uid_maps = static:5000」「virtual_gid_maps = static:5000」5000に変更 ・「#home_mailbox = Maildir/」コメントアウト ・「mail test」@以下を記述しないで打ってみる ・「debug_peer_level = 3」「debug_peer_list = mydomain.com」にてエラーレベルを引き上げましたが、エラーらしき出力はされませんでした。 もう、なにをすればいいのかも分かりません。 どうかよろしくお願いいたします! * OSはfedora10です * バーチャルドメイン設定前は、内部、外部共に指定の「home_mailbox = Maildir」に正常配送されていました。よってDNSの設定は間違いない?と思います

  • postfixのバーチャルドメイン管理でのspamフィルタについて

    はじめまして。現在postfix+postfixadmin+mysql+spamassassinを使用して運用しており、 spamassassinにはprocmailの/etc/procmailrcファイルにてspamのメールの振り分けを行っています。 postfixadminでtest@sample.comというアドレスとspam振り分け用のアドレスspam@sample.comを登録し、 test@sample.comから外部の携帯のアドレスに転送設定をしていますが、このときtest@sample.com 宛のspamメールは振り分けがおこなわれているのですが、外部の携帯にはspamが転送されてしまいます。 ログを見ましたが、test@sample.comにprocmailのフィルタが行われた後に転送が行われてしまっていました。 procmailを通過する段階で、spamを転送させない設定等がございましたらご指導の程、宜しくお願い致します。 下記postfixの設定です。 postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases allow_min_user = yes broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix content_filter = smtp-amavis:[127.0.0.1]:10024 daemon_directory = /usr/libexec/postfix disable_vrfy_command = yes header_checks = regexp:/etc/postfix/header_checks home_mailbox = Maildir/ html_directory = no inet_interfaces = all local_destination_concurrency_limit = 20 local_transport = virtual mail_owner = postfix mailbox_command = /usr/bin/procmail mailq_path = /usr/bin/mailq manpage_directory = /usr/local/man maximal_backoff_time = 600s maximal_queue_lifetime = 6000s minimal_backoff_time = 60s mydestination = mydomain = sample.com myhostname = mail.sample.com mynetworks = 192.168.1.0/24, xxx.xxx.xxx.0/28, 127.0.0.0/8, check_client_access hash:/etc/mail/dracd ※xxx.xxx.xxx.0はサーバのネットワークです。 myorigin = $mydomain newaliases_path = /usr/bin/newaliases parent_domain_matches_subdomains = queue_directory = /var/spool/postfix readme_directory = no receive_override_options = no_address_mappings relay_domains = $mydestination relayhost = sample_directory = /etc/postfix sendmail_path = /usr/sbin/sendmail setgid_group = postdrop smtp_defer_if_no_mx_address_found = yes smtpd_helo_restrictions = check_helo_access hash:/etc/postfix/helo_access smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $mydomain smtpd_sasl_security_options = smtpd_sender_restrictions = hash:/etc/postfix/reject_sender transport_maps = hash:/etc/postfix/transport virtual_alias_domains = $virtual_alias_maps virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_gid_maps = static:10000 virtual_mailbox_base = /home/virtual virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_minimum_uid = 10000 virtual_transport = procmail virtual_uid_maps = static:10000 /etc/postfix/master.cfの設定 下記を追記 procmail unix - n n - - pipe flags=R user=virtual argv=/usr/bin/procmail -t -m USER=${user} DOMAIN=${nexthop} /etc/procmailrc /etc/procmailrcの設定 PATH=/bin:/usr/bin DEFAULT=$HOME/$DOMAIN/$USER/ SPAM=/home/virtual/sample.com/spam/ LOGFILE=/home/virtual/procmail.log LOCKFILE=/home/virtual/procmail.lock VERBOSE=ON :0 *^X-Spam-Status: Yes $SPAM

  • Postfixでポート25での接続ができない

    Webサーバー(CentOS,Apach)の構築経験はありますが、メールサーバーを構築するのは初めてです。Postfixの書籍を購入し、インストール・基本設定を行いました。Telnetで接続を確認する流れになっているのですがうまく接続できません。 対処法を教えていただければと思います。 環境: 自分のPC:プロバイダの変動IP サーバー:レンタルサーバー会社のVPSサービスを利用 (固定IPを1つ割り当てられている) サーバーのOS:CentOS 6 サーバーではバーチャルホストを1つ設定しており、Webサーバーとしては利用できています。(サーバー上にindex.htmlを設置し、自宅PCから閲覧できる状態) 自宅PC(変動IP)からDOSプロンプトのtelnetで op xxx.xxx.xxx.xxx を実行するとサーバーにログインはできています。 (/etc/hosts.allowに「in.telnetd:プロバイダの変動IP」を設定) 接続テストではポート番号を付けて実行しているのですが、ポート番号を付けると接続できません。 (実行コマンド:Dosプロンプトからtelnet) op xxxx.xxxx.xxx.xxx 25 (結果) 接続中: xxx.xxx.xxx.xxx ホストへ接続できませんでした。ポート番号 25:接続に失敗しました 書籍に載っている成功例は [root@XXXXXX ~]# telnet localhost 25 Trying ::127.0.0.1 Connected to example.com (127.0.0.1) Escape character is '^]'. 220 mail.example.com ESMTP Postfix になっています。(ターミナルからtelnetを行っているようです。自宅PCのDOSプロンプトからのtelnetの他にターミナルからも試しましたがポート25を指定すると接続できませんでした) #nmap localhostでサーバーのポート関係を表示させると 21/tcp open ftp 23/tcp open telnet 25/tcp open smtp 80/tcp open http 22/tcp open EtherNet/IP-1 となっており、25番は開いています。 main.cfかhttpd.confあたりの設定に問題があるような気がしていますので、疑問点を幾つか記載します。 [httpd.conf]の設定内容 ServerName xxx.xxx.xxx.xxx:80 (xxx.xxx.xxx.xxxはvpsサーバーのIPアドレス) <VirtualHost サーバーのIPアドレス:80> DocumentRoot /var/www/html/example.com ServerName example.com ServerAlias www.example.com ErrorLog /var/log/www/www.example.com_error_log TransferLog /var/log/www/www.example.com_access_log </VirtualHost> [main.cfの設定内容] 外部に送出するメールのドメイン名 myhostname = mail.example.com ※書籍どおり設定するとこのようになります。VPSなので、#hostname -f を実行すると、v0000.ttt.VPSサービス名.comというホストが返ってきます。 (疑問点) ここで設定するドメイン名は、「mail.example.com」か「v0000.ttt.VPSサービス名.com」なのか。mail.example.comを設定するとすれば、サーバーの設定をどのようにすればよいのか?(httpd.confのバーチャルホスト設定などをどのようにすればよいのか?example.comは設定しているが、mail.example.comは設定していません。レンタルDNSサービスのTypeには下記3つを設定しています。 (1)ホスト名:example.com TYPE:MX Value:mail.example.com 優先:10 (2)ホスト名:www.example.com Type:A Value:サーバーのIP (3)ホスト名:mail.example.com Type:A Value:サーバーのIP ) ドメイン名の設定 mydomain = example.com myorigin = $mydomain メールの受け取りと受け取るドメインの設定 inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 利用可能なクライアントのネットワーク範囲の設定 書籍には mynetwork = 192.168.1.0/24, 127.0.0.0/8 となっていますが、 VPSのサーバーを借りて自宅(変動IP)から利用しているので、ここの設定は自分のIPを調べ(例:http://www.cman.jp/network/support/go_access.cgi)それを設定。 mynetwork = xxx.xxx.xxx.xxx ※書籍にはすべてコメントアウトされているのでデフォルトのままでも動作に問題はないと書いてあります。この設定は上記で良いのでしょうか? ローカルメールの配送方式 home_mailbox = Maildir/ [Postfixのランレベル] postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  • postfix 受信時 php スクリプト実行

    ※一部、ドメイン名が隠れてなかったので再度投稿しました。 【環境】 os: freebsd 8.4 php: 5.4.13 postfix:2.9.5 メールの送受信はエラーなくできています。 【やりたいこと】 メール受信時にPHPスクリプトを実行したい!(メールでブログ上げたい!!!!) 【困っていること】 メールログみると、PHPが実行されずに”転送”しようとしている。 <maillog> Jan 22 23:42:31 postfix/qmgr[36840]: from=<送信元>, size=38495, nrcpt=1 (queue active) Jan 22 23:42:31 postfix/virtual[36877]: to=<|php /usr/home/ユーザー名/htdocs/実行したい.php@ドメイン>, orig_to=<送信先>, relay=virtual, delay=0.32, delays=0.31/0/0/0, dsn=5.1.1, status=bounced (unknown user: "|php /usr/home/ユーザー名/htdocs/実行したい.php@ドメイン") ※なぜか PHP 実行したいのに、PHPのパスのあとに@ドメインが! このアドレスはあるわけないので送信元にエラーメールが戻ってきたのでした。 <エラーメール> Undelivered Mail Returned to Sender 中略 <"|php /usr/home/ユーザー名/htdocs/実行したい.php"@ドメイン> (expanded from <送信先>): unknown user: "|php /usr/home/ユーザー名/htdocs/実行したい.php@ドメイン" 【試したこと】 バーチャルメールボックスなので virtual_alias_maps(ファイル名:/usr/local/etc/postfix/virtual_alias) に 下記を記述しました。 blog@ドメイン  | "/usr/local/bin/php /usr/home/ユーザー名/htdocs/実行したい.php" そして、 postmap /usr/local/etc/postfix/virtual_alias として、postfix stop → postfix start してメールを送信すると、上記エラーに…。 ※blog@ドメイン までをバーチャルなユーザー名にしています。 (バーチャルドメインで現在2ドメイン運用しています。今回の「blog@ドメイン」というのはサーバのユーザーにはいなくてvirtual_mailbox_mapsに登録しているバーチャルなユーザーです。) バーチャルなユーザーは ユーザーID:グループID を 5000:5000 としています。 実行したい.php は 持ち主 5000:5000 で、 パーミッション 744 です。 また、このPHPはファイルの書き込みをします。 書きこみ対象のフォルダのパーミッションは777にしてあります。 (持ち主はwww:www になっています) あとで調べてみたらmain.cf の default_privs という項目が気になったので サーバーのユーザーを指定してPHPもそのユーザーのものにしましたが 結果、なんらかわらなかったので元に戻しました…。

  • apacheのバーチャルホストについて

    恐れ入ります。 linuxでサーバーの運営をしてみようかなと思っているのですが、windows xp proで試しにapacheを入れてみてドメインを2つ取得してhttpd.confのバーチャルホストについて記述してみました。 その際に以下をつけたして新しいドメインでブラウザからアクセスしてみたら普通にアクセスできました。どこかのサイトでDNSサーバーを自分のlinuxにたちあげないといけないみたいなことが書いてあったのですが、linuxの場合はdnsサーバーをたちあげないといけないのでしょうか?教えてください。 <VirtualHost xxx.xxx.x.xx> ServerAdmin xxx@xxx.com DocumentRoot "C:\Program Files\Apache Group\Apache2\aaa" ServerName 新しいドメイン ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost>

  • Postfixで他人に送信できない。

    Postfixで他人に送信できない。 自分のアドレスから自分のアドレスへは送れるのですが、他の人に送れません。 一つのサーバーにIPが複数割り当てられていて、Postfixの設置場所(サーバーのホスト名と一緒)と、バーチャルサーバーでドメインを割り当てているIPが違います。 どうやったら解消できるでしょうか。 足りない情報があれば追記します。 →他人へ NOQUEUE: reject: RCPT from xxxxx.xxx.xxx[xxx.xxx.xxx.xxx]: 554 5.7.1 <XXXXXX@XXXXXX.XXX>: Relay access denied; from=<xxxxx@xxxxx.xxx> to=<XXXXXX@XXXXXX.XXX> proto=SMTP helo=<xxxxx.xxxxx.xxx> →自分へ from=<xxxxx@xxxxx.xxx>, size=576, nrcpt=1 (queue active) to=<xxxxx.xxxxx@xxxxx.xxxxx.xxx>, orig_to=<xxxxx@xxxxx.xxx>, relay=local, delay=1.1, delays=1.1/0/0/0.08, dsn=2.0.0, status=sent (delivered to maildir) よろしくお願いします。

  • postfixによる受信がうまくいかない

    さくらのVPSを借りてdebianでpostfix(+ dovecot)のメールサーバーを立ち上げました。 一通り設定して、以下のように動きを確認しました。 ○ メールを、サーバー自身からサーバー自身へ送る ○ メールを、サーバーから外部メール(gmail)へ送る × 外部メール(gmail)から、サーバーへ送る gmailから私が立てたサーバーへ送るメールが受信できずに失敗します。 gmailでは、下記のようなエラーメールが返ってきます。 --- This is an automatically generated Delivery Status Notification THIS IS A WARNING MESSAGE ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. Delivery to the following recipient has been delayed: test1@example.com Message will be retried for 2 more day(s) Technical details of temporary failure: The recipient server did not accept our requests to connect. Learn more at http://mail.google.com/support/bin/answer.py?answer=7720 [mail.example.com. (10): Connection refused] --- そして、/var/log/mail.logには、この際何も記述されていません。 そのため、postfixへメールが送られる以前にどこかで間違っているのだと思うのですが、原因を特定できません。 上記、googleのエラーメールに「参考にしてねhttp://mail.google.com/support/bin/answer.py?answer=7720」みたいなアドレスが書いてあるので、参考にしてみたのですが、 ・相手側のドメインに最新の MX レコードがないか、設定が不適切です。 上記に関してはdigコマンドで #dig example.com MX とコマンドを打って見たところ、ANSWER(mail.example.com)が返ってきたので問題はないのでは、と考えています。 ・相手側のドメインで Gmail からのメールがブラックリストやグレーリストに登録されています。 上記、アドレスを拒否するような指定はpostfixのmain.cfで参考書を元に下記設定をしたところがありますが、 smtpd_client_restrictions = permit_mynetworks, reject_rhsbl_client all.rbl.jp 試しにコメントアウトしてみても、メールを受信できませんでした。 ・相手側のドメインで一時的にネットワークの問題が発生しています。 pingとtracerouteで、きちんとつながることを確認しています。 対象のメールアドレスがバーチャルメールアドレスなのですが、バーチャルメールアドレスにおいて何らかの設定ミスがあるのであれば、/var/log/mail.logにログが残るはずなので、やはりそれ以前の何かがおかしいのではと疑っています。 下記に、バーチャルメールアドレスの為のDNSサーバーの現在の設定を書いておきます。 --------- example.com. 1D IN SOA ns.example.com. root.example.com. ( 2011101502 ;serial 28800 ; refresh 7200 ; retry 3600000 ; expiry 3600 ; minimum ) IN NS ns.hoge.net. ; ネームサーバ IN NS ns.hoge2.net. ; セカンダリネームサーバ IN MX 10 mail.example.com. ; メールサーバ1 IN A 12.345.67.89 ; webサーバ www IN A 12.345.67.89 ; webサーバー mail IN A 12.345.67.89 ; メールサーバー ----------------- (実際に指定しているアドレスはexample.comではなく、自分で取得したアドレスを使用しています) 何か、原因が分かる方いらしゃいまいたらお教え願えませんでしょうか? 足りない情報がありましたら、ご指摘いただければ追加いたします。 また、「試したって書いてるけど、ほんとにこれやって試した?もう一回やってみ」というツッコミも待っています。 以上、よろしくおねがいいたします。

  • Postfixで問題の切り分けに困っています

    SendmailからPostfixに切り替えたら挙動の切り分けにこまってます 以下、仮に自分のサーバをexample.comとします http://fedorasrv.com/postfix.shtml の説明を をほとんどそのまままねて、 SendmailPostfixに切り替えました。(SMTP-AUTHにしました) よって、 main.cfの最下部の方に、 smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination をつけてます。 <問題1>================================================= そして、新しいアカウント(take とかりにします)を作ったところ、 Thunderbirdで送受信はできるのですが (●take@example.com から huga@example.comへ送信 =>問題なし  ●「外部の なんとか@gmail.com」あてに送るとき=>問題なし ) Beckyでは、 ●take@example.com から huga@example.comへ送信 =>問題なし ●「外部の なんとか@gmail.com」あてに送るとき=> 「554 <hoge@example.com>: Relay access denied」と言われてしまいます。 で、 relay_domains_reject_code = 557 を付け加えたところ、 「557 <hoge@example.com>: Relay access denied」 と言われます。 なので、この辺が原因だと思うのですが、どうすれば回避できるのでしょうか? ================================================= <問題2>================================================= 別の人(プロバイダも違う。ちなみに自分よりサーバは詳しい)にThunderbirdを入れてもらって、 同じ「take@example.com」でメール受信してもらったところ、メール受信すらできませんでした。 /var/log/maillogをみたところ、 詳しい内容は忘れましたが、cannot login 的な内容しか書いてませんでした。 (IPアドレスは、確かにその人のグローバルIPアドレスでした) なお、iptablesなどで拒絶はしてません。 なんも設定せずに、gmailからbarbar@example.comのメールをPOP3受信できましたので。 ================================================= というわけで、問題の切り分けに困っている状態なのですが、 どなたかおわかりのかたいらっしゃいましたら、どんなことでもいいので、お助けくださいませ。 よろしくお願いいたします。

  • Postfixのバーチャルドメイン設定について

     RedHat9にてPostfixのバーチャルドメイン設定を設定しております(ドメインはa**.co.jpとb**.co.jpとします)。 /etc/postfix/virtualファイルを設定することはわかったのですが、 a**.co.jp a**.co.jp tarou@a**.co.jp tarou b**.co.jp b**.co.jp tarou@b**.co.jp tarou 上の設定ですと、別々のドメインのメールアドレスが 同じtarouというアカウントになり、同じメールボックスになってしまいます。 私がやりたいのは、POPで受信するのもtarou@a**.co.jpとtarou@b**.co.jpと別々のメールボックス にすることなのですが、どのようにしたらよいでしょうか。