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

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

ただいまの
回答率

90.34%

  • CentOS

    2827questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Postfix

    276questions

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

postfixでのメール転送

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,609

KCBR6502

score 55

さくらのVPSを借りてドメイン取得、DNSの設定(メールは使用しないためAレコードと、wwwのCNAMEレコードのみの設定)までを行いました。

次にSSLの設定をしたいのですが、ドメイン認証のため、サーバに来たメールを外部のメールアドレスへ転送したいのです。

色々調べているのですがうまくいかず、Posfixのエイリアスで転送設定をする方法を教えていただきたいです。

OSはCentOS6.8、
Postfixのバージョンは2.6.6です。

その他、必要な情報があれば教えていただきたいです。

基本的な内容かとは思いますが、よろしくお願いいたします。

<追記>
>ikedaさん

/etc/aliasesの末尾に「root:*@*.jp(転送先に指定したいメールアドレス)と追記してnewaliasesをしただけです。うまくいかなかったので元に戻しています。一応、postconf -nの結果は以下です。(デフォルトのままだと思いますが)

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks_style = host
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550

そもそものところが分かっていないと思いますが…

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • ikedas

    2017/03/07 23:01

    実際に試してみたpostfixの設定を示して下さいませんか。「postconf -n」を実行した結果を示していただければいいです (設定中のドメイン名やIPアドレスは、「example.jp」とか「AAA.AAA.AAA.AAA」といったふうに架空のものに置き換えていただいて構いません)。

    キャンセル

  • CHERRY

    2017/03/08 07:38

    /var/log/maillog にエラーメッセージが出てると思うので、質問に追記してもらえませんか。

    キャンセル

  • KCBR6502

    2017/03/08 17:54

    root@にメールを送信しても、maillogに何も追記されないです。

    キャンセル

回答 4

+2

「/etc/postfix/main.cf」(環境によって、ファイルの場所は異なるかも) の内容を修正したら、
どうなりますでしょうか

<変更>:外部からのSMTP接続を受け付ける

inet_interfaces = all

<追加>:ドメイン名を明示的に定義

mydomain = example.jp
myhostname = www.example.jp

上記設定変更後、(postfix再起動して)「/etc/aliases」 に以下のような記述をして、
newaliases コマンドすれば転送できる気がします。

root:    sample@example.com
admin:  sample@example.com

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/08 01:10

    ありがとうございます。
    記載の手順を実施後にテストしてみましたが、転送先に指定したアドレスにメールは来ませんでした。

    キャンセル

  • 2017/03/08 01:24

    なるほど。
    VPSサーバ上で、「postqueue -p」コマンドを打つと、何か出てきますか?

    ちょっと確認なのですが、VPSは「お試し期間中」だったりしますか。


    キャンセル

  • 2017/03/08 10:08

    >postqueue -p
    Mail queue is emptyと出ます。

    月曜日に借りたところなので、お試し期間中です。

    キャンセル

  • 2017/03/08 10:11 編集

    お試し期間の解除ができないか調べてみます。

    キャンセル

  • 2017/03/08 10:27

    さくらのVPSだと、(クレジットカードで)決済手続きを行えば、期間内でもお試し期間が解除されて
    本登録になったと思います。(多少のタイムラグはあるかもしれませんが。。)

    キャンセル

  • 2017/03/08 10:32

    とはいえ、、、お試し期間で、外部へのメール送信(ポート25)が
    制限がされていると予想して、メールキューに転送先へのメールが
    溜まっていると考えたのですが・・・

    「Mail queue is empty」という結果で、予想が外れたので、別の原因の切り分けが必要ですが。

    キャンセル

  • 2017/03/08 17:31

    本登録後に再度試みましたが、うまくいかないです…

    キャンセル

  • 2017/03/08 20:10

    あら、、、 ダメでしたか。
    「お試し期間」が、根本の原因じゃなかったようですね。

    他のコメントでの "/var/log/maillog" に外部からの接続ログが無いようなので、
    外部から VPS サーバへ送信できていないと考えると、現時点では、iptables の設定の問題の
    可能性が大きいかと思います。
    (試しに送信したメールは、再送状態になっている可能性があるので、解決したときに流れ込んでくると思います)

    キャンセル

  • 2017/03/09 02:06

    一度iptableを無効(/etc/rc.d/init.d/iptables stop)にして試してみましたが、やっぱりダメでした。/var/log/maillogにはpostfixの再起動ログのみで、/var/log/mail/にはrootのディレクトリすらないです…

    キャンセル

+2

さくらのVPSには、契約から2週間は「お試し期間」となっていたかと思いますが。
もう2週間過ぎましたか?

お試し期間中の制限の項目を確認してみて下さい。

もし2週間経ってないようなら、25番ポートを利用した外部メールサーバへの転送はできないので。
たとえば下記のサイトなどを参考にサブミッションポートを使用して送るように設定して下さい。

さくらのVPS 無料期間中でもメール送信する方法
試用中の「さくらのVPS」からメールを送信する

転送先のメールサーバは普段お使いのメールサービスのものを使えればと思いますが。
例えばGmailの場合であれば以下のサイトなどを参考にどうぞ。

自宅サーバで、メールを送信するための「OP25B」対策。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+1

なにも設定していない状態なのですね。Postfixに付属のドキュメントを読んで、設定をして下さい。

ドキュメントはreadme_directoryで指定されたディレクトリにあります。お使いの Postfixでは/usr/share/doc/postfix-2.6.6/README_FILESですね。

まず、BASIC_CONFIGURATION_READMEを読みましょう。ここに書いてある通りにすれば、とりあえず動きます。英語が苦手なら、少々古いですが、「Postfixのページ」というサイトに日本語訳もあります。お使いのバージョンが2.6.6であれば内容はほぼ同じです (以下、日本語訳で説明します)。

まず、このドキュメントを最初から最後まで読んで下さい。

読んだら、このドキュメントの内容にそって設定をしていきます。簡単に説明します。


外行きのメールに使うドメイン名

まず、mydomainの設定が正しいかどうか確認します。次を実行して結果を確認します。

postconf mydomain

mydomainがメールのドメイン名と違っていれば、設定で正しいものにします。main.cfに次のように追記します (以下では例としてexample.jpとします)。

mydomain = example.jp


myoriginを説明の通りに設定します。今回は次のように設定すればいいでしょう。

myorigin = $mydomain

受け取るべきメールのドメイン

今回はexample.jpドメインのアドレス宛てのメッセージを受け取れればいいのでしょうから、次のように設定します。

mydestination = $myhostname localhost.$mydomain localhost $mydomain


メールの中継元となるクライアント

今回は中継元は特にありませんので、mynetworks_style = hostのままでいいでしょう。

メールを中継して渡す配送先

初期値のままでいいです。

配送方法: 直接もしくは間接

普通はメールサーバから直接インターネットにメールを送信するので、特に設定する必要はありません。しかし、他の方のご回答にあるようにOP25Bかかっている場合、直接送信ができません。

このようなときは別途サブミッションサーバを用意してそこに送ることが考えられます。その場合、次のように設定します。

relay_host = [サブミッションサーバ]:ポート


OP25Bがかかっていない状況なら、このような設定は不要です。

postmaster に報告するトラブルの種類

/etc/aliasesでrootの転送先を設定します。/etc/aliasesを更新したらnewaliasesを実行します。

他は、特に設定しなくてもいいでしょう。

プロキシ/NAT 外部ネットワークアドレス

今回は設定不要。

Postfix ロギングについて知る必要があること

今回は設定不要と思われる。

Postfix デーモンプロセスを chroot させて 動かす

今回は不要。

自分自身のホスト名

たぶん変更しなくていいでしょう。

自分自身のネットワークアドレス

初期値ではlocalhostになっています。これではローカルネットワークからの接続しか受け付けられません。次のように設定すればいいでしょう。

inet_interfaces = all

以上のように設定し、Postfixを再起動した上で、動作確認します。

うまく動作しなければ、あらためて設定内容とログの内容を添えてご質問下さい。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

inet_interfaces = localhost

localhost (127.0.0.1:25)のみ接続を受け付けます。 
外部から 25番ポートで接続を受け付けるには、(一時的にでも)inet_interfaces = all にするといいと思います。


(2017/03/08 09:25) 追記
以下を確認ください。

  • iptables INPUT チェインで 25番ポートへの接続が許可されているか
  • ログファイル(/var/log/maillog)で外部からの接続が記録されるか
  • /etc/aliases を設定しない場合、/var/spool/mail/root にメールが保存(追記)されるか

(2017/03/09 19:00) 追記
以下を確認ください。

  • OP25B 制限のかかっていないネットワークから "telnet IPアドレス 25" などで接続できるか
    -- 接続できる場合、MXレコードを設定して受信できるかどうか
    -- 接続できない場合、"iptables -nvL", "ss -tlnp" の情報をください

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/08 01:11

    ありがとうございます。
    allにしてみましたが、うまくいきません。

    キャンセル

  • 2017/03/08 18:23

    ・iptablesには25番ポートの記述はありません。
    記述が必要でしょうか。
    ・/var/log/maillogには外部からの接続のログは記述されていません。
    ・/var/spool/mailにrootのディレクトリすらありません。

    キャンセル

  • 2017/03/08 18:38

    iptables はデフォルトでは SSH(22番ポート)しか許可していなかったと思います。
    iptables が有効なのであれば、TCP 25番ポートを許可する必要があります。

    ドメイン確認のため、一度だけメールを受信できればいいのであれば、一瞬だけ iptables を停止するとか。

    キャンセル

  • 2017/03/09 02:07

    一度iptableを無効(/etc/rc.d/init.d/iptables stop)にして試してみましたが、やっぱりダメでした。/var/log/maillogにはpostfixの再起動ログのみで、/var/log/mail/にはrootのディレクトリすらないです…

    キャンセル

同じタグがついた質問を見る

  • CentOS

    2827questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Postfix

    276questions

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