初めましてこんにちわ。
Yosiさんのホームページを見てPostfixの設定をしました。
今現在バーチャルの設定をしたのですが外部への送信がエラーとなります。
外部→バーチャル OK
ローカルアカウント→外部 OK
外部→ローカルアカウント OK
バーチャル→外部 NG
アウトルックでテストをしてみたのですが次のようにでました。
受信者の 1 人がサーバーによって拒否されたため、メッセージを送信できませんでした。 拒否された電子メール アドレス : XXXX@hotmail.com 件名 'test', アカウント : 'virtualdomain', サーバー : 'virtualdomain', プロトコル : SMTP, サーバーの応答 : '554 <XXXX@hotmail.com>: Relay access denied', ポート : 25, セキュリティ (SSL): なし, サーバー エラー : 554, エラー番号 : 0x800CCC79
バーチャルアカウントから外部への送信がしたいのですがどうしたら宜しいでしょうか?
どうぞ宜しくお願いします。
始めまして、Yosiです。
出張でお返事が遅れました。
allow_percent_hack = yes
となっているでしょうか?
この行を入れてもだめな場合は、
swap_bangpath = yes
を一行追加してみてください。
お忙しいところスミマセン
なかなか設定の方が上手くいかなくって今サーバーにpostfixが入ってません。
又、挑戦してみて結果をご連絡します。
> お忙しいところスミマセン
> > なかなか設定の方が上手くいかなくって今サーバーにpostfixが入ってません。
> 又、挑戦してみて結果をご連絡します。
linuxって本当に難しい^^
windowsと全く違いますね
本当に困ることが沢山あります。例えば日本語入力で書き込み失敗した時なぜか日本語入力ができなくなる。Shift+スペースを押しても入力切替えされないとか漢字への変換が見えないとかなどなど
ところでpostfixなのですが今、ipが消えるのを待ってます。
また書き込みします。
すいません。どんどんわからなくなってきました!
今のmain.cfなのですが
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
default_privs = nobody
myhostname = web-nova.net
mydomain = web-nova.net
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
unknown_local_recipient_reject_code = 450
mynetworks = 192.168.11.0/28, 127.0.0.0/8, check_client_access hash:/etc/mail/dracd
relay_domains = $mydestination
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
home_mailbox = Maildir/
debug_peer_level = 2
allow_percent_hack = yes
disable_vrfy_command = yes
allow_percent_hack = yes
swap_bangpath = yes
smtpd_recipient_restrictions =
permit_mynetworks,
check_relay_domains
になってます。何かオカシイ部分ありますでしょうか?
本当すみません
私と違う部分のみ記載していきます。
> queue_directory = /var/spool/postfix
> command_directory = /usr/sbin
> daemon_directory = /usr/lib/postfix
> mail_owner = postfix
> default_privs = nobody
> myhostname = web-nova.net
ここは、ホスト名.ドメイン名になってます。
例)server.xxxx.com
> mydomain = web-nova.net
> myorigin = $mydomain
> inet_interfaces = all
> mydestination = $myhostname, localhost.$mydomain $mydomain
> unknown_local_recipient_reject_code = 450
> mynetworks = 192.168.11.0/28, 127.0.0.0/8, check_client_access hash:/etc/mail/dracd
> relay_domains = $mydestination
> alias_maps = hash:/etc/postfix/aliases
> alias_database = hash:/etc/postfix/aliases
> home_mailbox = Maildir/
> debug_peer_level = 2
> allow_percent_hack = yes
> disable_vrfy_command = yes
> allow_percent_hack = yes
> swap_bangpath = yes
コレは無いです。
> smtpd_recipient_restrictions =
> permit_mynetworks,
> check_relay_domains
こんな感じです。
mailログ等も参考にしてみてはいかがでしょうか?
>>例)server.xxxx.com
なんですがDNSの方でweb-nova.netでmx.web-nova.net両方やったのですができないんですよね///
> smtpd_recipient_restrictions =
> permit_mynetworks,
> check_relay_domains
なんですが他のサイトのを見て挑戦してたので残りだと思います。
今、現在指摘された部分を直したのですが外部へは送信できません。
ん〜 難しい
何がなんだかさっぱりです。
もうちょっと頑張ってみよと思います。
> > mydomain = web-nova.net
> > myorigin = $mydomain
自分のホスト名に関する設定。あってると思う
> > inet_interfaces = all
メール受信はすべてのインタフェースで有効。あってると思う
> > mydestination = $myhostname, localhost.$mydomain $mydomain
「xxx@web-nova.netにきたメールアドレスを受け取る」など受信に関する設定。大丈夫でしょう
> > unknown_local_recipient_reject_code = 450
エラーコード。このままでOK
> > mynetworks = 192.168.11.0/28, 127.0.0.0/8,
ん?192.168ローカルの場合は/24だと思うので
mynetworks = 192.168.11.0/34, 127.0.0.0/8
に直してみては。
> > check_client_access hash:/etc/mail/dracd
PbSの設定ですね。私はより強力なSMTP-AUTHなので詳しくありませんが記憶上そんな形。
どこにデータがおいてあるかによりますがVineで考えると
/etc/postfix/dracd って設定が一般的な気もします。
> > relay_domains = $mydestination
受け取るメールのドメイン(mydestination)を転送
> > alias_maps = hash:/etc/postfix/aliases
> > alias_database = hash:/etc/postfix/aliases
転送メール関係なので、ここは問題ありません。
> > home_mailbox = Maildir/
Courier-IMAPなどをお使いなら、こうですね。
#mail_spool_directory = /var/spool/mail この記述の先頭に#があることを一応確認
> > allow_percent_hack = yes
これyesにしないと機能してくれませんからOK
> > disable_vrfy_command = yes
> > allow_percent_hack = yes
> > swap_bangpath = yes
> コレは無いです。
詳細な設定とセキュリティ関連です。
というより、これらなくても受信できるのか気になりますが・・・
> > smtpd_recipient_restrictions =
> > permit_mynetworks,
> > check_relay_domains
mynetworksに含まれているので大丈夫だとは思うのですが
うまくいかない場合は以下のように記述することも出来るはずです。
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, check_client_access hash:/etc/postfix/dracd
その他、PbSでチェックすべき点といえば作業途中の過程になってしまいます
・Portmap、dracdが開始されているかどうか
・dracと依存関係を持つようにパッケージを修正してあるか
先にメーラーで受信操作をしてから送信しないと認証しないのがPbSですから
外部からやった時に、「このIPからアクセスしたよ」って記録が残らないといけません。
Postfixのデフォルトだと、LAN内からのアクセスは常に許可が標準なので
実は出来ていないってこともあります。
・重複しますがmailログを参照。なにかエラーが起きたら
ログにどんな記録があるのか調べるのが鉄則です
ついでに使ってるディストリビューションとバージョン、それからPostfix、dracdのバージョンとPOPデーモンの種類・バージョンによってパス指定が多少異なります。
すいませんちょっと自分と重なる部分があったんでお聞きしたいんですが、
此処のサイトの「フィルタをかける」の項に書いてある事をしましたか?
したならばいったん元に戻してみてください。
それで送信できるでしょうか?
> すいませんちょっと自分と重なる部分があったんでお聞きしたいんですが、
> 此処のサイトの「フィルタをかける」の項に書いてある事をしましたか?
それはフィルタをかけるとメール送信できないと言う事でしょうか?
> それはフィルタをかけるとメール送信できないと言う事でしょうか?
もちろんYosiさんを批判している訳じゃないんですが、
とりあえずその項をやる前は送信できたのですがその項をやると送信出来なくなって、
また
header_checks = regexp:/etc/postfix/header_checks
body_checks = regexp:/etc/postfix/body_checks
等を外すと正常送信できました。
自分はとりあえず送信できたのでフィルタはかけないことにしたのですが、
エラーメッセージから何まで自分の時と似てるので書かせていただきました。
もちろん自分の書き方ミスって事もあるので気分を害されたらすみませんでした。
> もちろんYosiさんを批判している訳じゃないんですが、
> とりあえずその項をやる前は送信できたのですがその項をやると送信出来なくなって、
なるほど〜
私は、今のところここの設定をしても送受信は問題なく行えているのですが、
フィルタの項目は、各自の好みで必要に応じて設定していただければOKかと思います。
> また
> header_checks = regexp:/etc/postfix/header_checks
>
> body_checks = regexp:/etc/postfix/body_checks
> 等を外すと正常送信できました。
>
そうですか。
ここもですが、必要だと思う項目だけ記述すれば問題ないので、必要性を感じていらっしゃらないのであれば、外してもOKです。
私も
body_checks = regexp:/etc/postfix/body_checks
この項目は、必要としていないので、現在は外しております。
> もちろん自分の書き方ミスって事もあるので気分を害されたらすみませんでした。
いえいえ全然そんな気は御座いませんので気になされないでください。
もし、設定をしたいけど上手くいかない場合等は、気軽におっしゃってくださいね。