ルートで受信したメールをUbuntuノードの外部メールに転送したい。私はこれを見た post だが、従うべき手順についてはあまり説明していない。オンラインで利用できる他の投稿がいくつかありますが、それらはしばしば不完全であるか不明確です。
誰かが共有するための完全な手順を持っていますか?私のノードにメールサーバーをインストールする必要がありますか?はいの場合、どれですか?ノードの構成手順は何ですか?私は厳密にコマンドラインを使用しています(ノードはサーバーです)。
root
が電子メールを受信している場合は、おそらくすでにサーバーがインストールされています。
$ Sudo dpkg-reconfigure postfix
これがエラーになる場合、
$ Sudo apt-get install postfix
直接配信するか、スマートホストを使用するように(再)構成します。ここで「root: [email protected]
"(もちろん正しいアドレスを使用)から/etc/aliases
およびnewaliases
を実行します。 (Ubuntu postfix
パッケージは、これをdpkg-reconfigure
)。
はい、ノードにメールサーバーをインストールする必要があります。 Postfix、exim、sendmailが私の好みです(この順序で)。
一部のメールサーバーは、メールの受信者について少しうるさいことに注意してください。ローカルのメールサーバーの場合、制限はネットワークによって行われることが多いため、問題がない可能性があります。たとえばgmailの場合、送信するドメイン(postfixの/ etc/mailname)が送信元のIPと一致することを確認する必要があります。 IPと一致するドメインを取得する必要がある場合は、DynDNSまたは他の同様のサービスをチェックしてください(まだドメインがない場合)。
他のメールプロバイダーへの中継については、オンラインの手順を確認してください。
次に、次のいずれかを(rootとして)実行して、root @ localhostに送信されたメールを外部の電子メールアドレスに送信します。
echo "[email protected]" > /root/.forward
または
echo "root: [email protected]" >> /etc/aliases && newaliases
また、抜け出すことができるかどうか、またはISPがポート25ブロッキングを行うかどうかを把握する必要があります。ユーザー名とパスワードを使用してスマートホストのメール転送用にUbuntuをセットアップするために、以下のスクリプトを作成しました。そのため、ルート電子メールはISPのSMTPサーバーに転送され、直接送信されません。
apt-get install mailutils
P=/etc/postfix/password
echo "smtp.mailserver.com username:password" >> $P
chown root:root $P
chmod 0600 $P
postmap hash:$P
echo "
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/password
smtp_sasl_security_options =
" >> /etc/postfix/main.cf
echo "
root: [email protected]" >> /etc/aliases
newaliases
/etc/init.d/postfix reload
echo "$HOSTNAME Email Ready" | mail -s 'Email test' root
tail /var/log/mail.log
もう1つの方法は、ssmtp
(小さな送信専用メール「サーバー」)を使用することです。完全なハウツーは、公式の buntuドキュメント で提供されています。