1.電子メールシステムの概要
1、 メールの誕生
2、 一般的なメールプロトコル
3、 専門用語の説明
4、 メールシステムのワークフロー
2つ目は、メールシステムをインストールする
1、 Postfixの紹介
2、 依存関係をインストールする
2.1、 ホスト名を設定する
2.2、 DNS解決を設定する
3、 Postfixをインストールする
3、メールシステムを設定します
1、 メール表示コマンド
2、 ファイアウォールを構成する
3、 接続を確認してください
4、 テストメールを送信する
届かない場合は、次の解決策を試してください。
5、 送信者アドレスを変更する
マサチューセッツ工科大学のレイ・トムリンソン博士は、ARPANETプロジェクトの科学研究プロジェクトに携わっていました。彼は、「手紙」と同様の送信サービスを設計し、手紙用の「レターボックス」を準備する必要があると感じました。相手が一時的にオフラインになっていても、データを受信でき、オンラインになってから処理することができます。
そのため、レイ・トムリンソン博士は1年近くかけて電子メール(「電子メール」)の設計を完了し、「1971」の秋に「SNDMSG」ソフトウェアを使用して人類史上初のコンピューターを他のコンピューターに送信しました。電子メール—電子メールシステムはインターネット上で生まれました!
インターネット上の他のユーザーに電子メールを送信するため、他のユーザーが電子メールを受信するために使用する名前は一意である必要があります。そうでない場合、電子メールが同じ名前の複数のユーザーに同時に送信されるか、全員がメールを受信できなくなります。アップ。
そのため、レイ・トムリンソン博士は、電子メールボックスの名前を標準化するために「**名@ computerhostname **」の形式を使用することを選択することにしました。 RayTomlinson博士は、人間の名前やコンピューターのホスト名にそのような@記号を含めるべきではないと感じたため、スペーサーとして @
記号を選択する理由は、実際には非常に単純です。彼はこの記号を選択しました。
**Simple Mail Transfer Protocol **(Simple Mail Transfer Protocol、 SMTP
)
サーバーの 25 / TCP
ポートを占有して、電子メールの送信と転送に使用されます。
**郵便局プロトコル3 **(郵便局プロトコル3、 POP3
)
サーバーのポート 110 / TCP
を占有して、ローカルホストに電子メールを保存するために使用されます。
**インターネットメッセージアクセスプロトコルバージョン4 **(インターネットメッセージアクセスプロトコル4、 IMAP4
)
サーバーの 143 / TCP
ポートを使用して、ローカルホスト上のメールにアクセスするために使用されます。
電子メールシステムでは、ユーザーの電子メールを送受信するサーバーはメールユーザーエージェント(メールユーザーエージェント、 MUA
)と呼ばれます。
電子メールシステムでは、ユーザーがオフラインでもデータを受信できるため、ユーザーメールを保存するための「メールボックス」サーバーが必要です。このサーバーの名前は** Mail Delivery Agent (Mail Delivery Agent)です。 、 MDA
)、その職務はメール転送エージェント**( MTA
)からローカルの受信トレイにメールを保存することです。
この「MTA」の職務は、異なる電子メールサービスプロバイダー間で電子メールを転送および処理し、MUAから適切なMTAサーバーに電子メールを転送することです。これは、ネットワークにおけるルーターの役割に相当します。
一般的なネットワークサービスプログラムは、情報を送信するときに電話をかけるようなもので、両方の当事者が同時にオンラインのままである必要があります。電子メールシステムでは、ユーザーは電子メールの送信後に配信作業が完了するのを待たずにオフラインにすることができます。
サーバー(MTA)がダウンしているか、相手が一時的に「オフライン」になっている場合、送信サーバー( MTA
)は自動的にローカルに送信するコンテンツを一時的に保存し、相手のメールサーバーが回復するのを検出するまで待機します。 すぐに再配信します。
図に示すように、QQメールボックスからGoogleメールボックスにメールを送信する概略図です。
最も基本的な電子メールシステムは、送受信サービスを提供できる必要があります。そのためには、「SMTP」プロトコルに基づく「Postfix」サービスプログラムを使用して「送信サービス」機能を提供し、「POP3」プロトコルベースを使用する必要があります。 Dovecot
サービスプログラムは ReceivingService
機能を提供します。
このようにして、ユーザーはOutlook ExpressやFoxmailなどのクライアントサービスプログラムを使用して、通常どおりメールを送受信できます。電子メールシステムのワークフローを次の図に示します。
このメールサービスは、AliyunによってSMTPサービスが無効になっているため、AlibabaCloudなどのサーバーにはインストールできないことに注意してください。
関連する規定は次のとおりです。
3.1.3.5. アリババクラウドが提供する[クラウドサーバー](https://cloud.tencent.com/product/cvm?from=10680)を、仮想サーバー、ディスクスペースのレンタル、または違法なプロキシサーバー(プロキシ)またはメールサーバー(アリババクラウドクラウドプラットフォームセキュリティルールによる)として使用しないでください提出が許可された後、クラウドサーバーを使用してSMTPサービスに接続し、電子メールを送信することはできません。AlibabaCloudは、クラウドサーバーをSMTPサービスに使用することをデフォルトで禁止します。
このチュートリアルはUbuntu19.10システムに基づいており、下位互換性があります。CentOSユーザーもこのチュートリアルを参照でき、インストールコマンド apt
を yum
に変更するだけです。
Postfixは、IBMが資金提供する無料のオープンソースの電子メールサービスプログラムです。これは、「SMTPサーバー」とも呼ばれる最新のメール転送エージェント( MTA
)であり、2つの機能を備えています。
メールシステムをインストールする手順は次のとおりです。
デフォルトでは、Postfixは他のMTAと通信するための一意の識別子として hostname
を使用します。hostnameには2つの形式があります。1文字と FQDN
(完全修飾ドメイン名、フルネーム)です。
一般的なコンピューターは、一意の識別子として1文字の形式を使用します。たとえば、名前はlinux、debian、ubuntuなどです。
サーバーは通常、FQDNを一意の識別子として使用します。メールサーバーとして機能しているため、FQDNを使用します。 FQDNは、 ノード名
と ドメイン名
の2つの部分で構成されています。
例: mail.ubuntuwsuo.com
;
ここで、 mail
はノード名、 ubuntuwsuo
はドメイン名です。
FQDNは、メールのヘッダーに「バナー」として表示されます。一部のMTAは、FQDNのないサーバーから送信されたメールを拒否し、一部のMTAはDNSにアクセスして、メールサーバーのドメイン名が解決されているかどうかを確認します。
次のコマンドを使用して、 hostname
をFQDN形式で表示します。
hostname -f
私のは ubuntu
です。
持っていない場合は、 hostnamectl
コマンドを使用して作成します。
sudo hostnamectl set-hostname your-fqdn
//your-fqdnを必要な名前に置き換えます
通常の状況では、FQDNは次のとおりです。mail.yourdomain.com
もちろん、Postfix構成ファイルの myhostname
を変更してFQDNを変更することもできます。
@レコードを追加して、既存のドメイン名に解決できます。
最後に、最も簡単なリンクでもあるハンズオンリンクがあります。一緒にインストールしましょう。
sudo apt update
sudo apt install postfix -y
しかし、私はすでにそれをインストールしました。効果を示すために、アンインストールコマンドを実行します。将来アンインストールする場合は、同じコマンドを実行できます。
sudo apt remove postfix
sudo apt clean
アンインストール後、再度インストールしてください。
「インターネットサイト」を選択します。
構成なし
:インストールプロセス中にパラメーターが構成されないことを意味します。インターネットサイト
:Postfixを使用して他のMTAとの間でメールを送受信することを意味します。スマートホストを使用したインターネット
:サフィックスが他のMTAからのメールの受信に使用されているが、別のスマートホストがメールを受信者に中継するために使用されていることを示します。衛星システム
:スマートホストを使用してメールを送受信することを意味します。ローカルのみ
:メールがローカルユーザーアカウント間でのみ転送されることを示します。次に、システムメール名のドメイン名、つまり@記号の後にドメイン名を入力します。たとえば、私のメールアドレスは wsuo @ ubuntu.net
なので、システムのメール名として ubuntu.net
と入力します。
ここでは、ドメイン名として「ubuntu.net」を入力することをお勧めします。他のドメイン名は傍受されやすく、予約済みドメイン名としてubuntu.comを使用できないためです。他のドメイン名を入力すると、手紙を送ることができません。通知しないことで私を責めないでください。インストールを再度削除して再構成することしかできません。
インストールされると、Postfixは自動的に起動し、 / etc / postfix / main.cf
にファイルを生成します。これで、次のコマンドを使用してPostfixのバージョンを確認できます。
postconf mail_version
私のは mail_version = 3.4.5
です。
次のコマンドを使用して、監視対象のポート情報を表示します。
sudo netstat -lnpt
//netstatがインストールされていない場合,コマンドを使用してインストール:sudo apt install net-tools
インストールが完了しました。
Postfixがインストールされた後、多くのバイナリファイルがsbinディレクトリに生成されます。これらは実行可能なコマンドです:
dpkg -L postfix | grep /usr/sbin/
Ubuntuはデフォルトでファイアウォールをオンにしません。ufw
ファイアウォールをオンにしている場合は、Postfixが他のSMTPから送信されたメールを受け入れることができるように、ポート25を開く必要があります。
//ファイアウォールのステータスを表示する
sudo ufw status
//ポート25を開く
sudo ufw allow 25/tcp
もちろん、ファイアウォールを直接オフにすることもできますが、これはお勧めしません。
sudo ufw disable
以下のポートの状況を確認してください。
最初にインストールコマンドを実行してnmapをインストールします。すでにインストールしている場合は、スキップできます。Nmapは主にポートスキャンを実行します。
sudo apt install nmap
Nmap( "Network Mapper")は、オープンソースのネットワーク検出およびセキュリティ監査ツールです。その設計目標は、大規模なネットワークを迅速にスキャンすることであり、もちろん、単一のホストをスキャンすることは問題ありません。 Nmapは、独自の方法で元のIPパケットを使用して、ネットワーク上にあるホスト、それらのホストが提供するサービス(アプリケーション名とバージョン)、それらのサービスが実行されるオペレーティングシステム(バージョン情報を含む)、および使用するパケットのタイプを検出します。フィルター/防火壁、および他の多くの機能。 Nmapは通常、セキュリティ監査に使用されますが、多くのシステム管理者やネットワーク管理者は、ネットワーク全体に関する情報の表示、サービスアップグレード計画の管理、ホストとサービスの動作の監視など、日常的なタスクの実行にも使用します。
次に、コマンドを実行して ip
アドレスに変更します。
sudo nmap 192.168.0.104
ポート25が smtp
サービスとして指定されていることがわかります。
次に、Tencentのメールサーバーに接続してみます。
telnet imap.qq.com 25
これにより、Postfixがメールを送信できるようになります。
これで、コマンドラインを使用してメールを送信できます。
ユーザー名をwsuoとして追加すると、メールアドレスとして wsuo @ yourdomain.com
を使用してメールを送信するか、 root @ yourdomain.com
を使用できます。次のコマンドを使用してメールを送信できます。
echo "test email"| sendmail [email protected]
この簡単なコマンドでは、「テストメール」をメールの本文として使用して、Tencentメールボックスにメールを送信します。メールボックスでメールを受信するか、スパムで見つけることができます。送信アドレスを入力しなくても見つけることができます。インストール時に送信者アドレスがデフォルトで設定されているため、送信できます。
/ var / log / mail.log
を開いて、送信情報を表示します。
Mar 808:36:11 ubuntu postfix/qmgr[18174]: E363B66E82:from=<[email protected]>, size=242, nrcpt=1(queue active)
Mar 808:36:14 ubuntu postfix/smtp[19413]: E363B66E82: to=<[email protected]>, relay=mx3.qq.com[183.232.93.177]:25, delay=2.2, delays=0.01/0.01/0.28/1.9, dsn=2.0.0, status=sent(250 Ok: queued as)
Mar 808:36:14 ubuntu postfix/qmgr[18174]: E363B66E82: removed
受信者としてのPostfixが電子メールをローカルに保存するように、電子メールへの返信を試みることができます。次のコマンドを入力して、受信者の場所を表示します。
postconf mail_spool_directory
/ var / mail /
ディレクトリ内。
構成ファイルを開いて、 hostname
を変更できます。
/ etc / postfix / main.cf
を開き、 myhostname
のキーワードを見つけて、名前を変更します。
再起動:
sudo service postfix restart
ログファイルディレクトリを開いて、送信された情報を表示します。通常、ここにエラーメッセージが表示されます。
cat /var/log/mail.log
サーバーにIPアドレスのみがあり、対応するドメイン名がない場合、私のような電子メールを受信しない可能性があります。ここで送信されるメールのデフォルトの送信アドレスは次のとおりです。server@にログインするためのユーザー名@私のようにサーバーの名前は wsuo @ ubuntu
です。ほとんどの受信者のメールサーバーは、送信メールアドレスの有効性を判断します。通常のドメイン名のサフィックス( xxx.com
、 xxx.net
など)と一致しない場合は、次のように判断されます。スパムと破棄。
したがって、次の手順に進み、送信アドレスを構成します。
次のコマンドを順番に実行します。
//最初に構成ファイルを開きます
sudo vim /etc/postfix/main.cf
//最後の行に追加
smtp_generic_maps = hash:/etc/postfix/generic
//新しいファイルを開いて
sudo vim /etc/postfix/generic
//フォーマットは
ユーザー名@あなたのサーバー名相手に見せたいメールアドレス
//たとえば、私のコンピュータは前面にあります,後者に変えて入りたい:
wsuo@ubuntu [email protected]
再起動して再送信します。
sudo service postfix restart
echo "test email"| sendmail [email protected]
それでも受信できない場合は、前回のインストール時に設定したアドレスを変更できます
sudo vim / etc / postfix / main.cf
を開き、インストール時に設定したメールドメイン名を含む mydestination
を見つけます。これで有効なアドレスに変更できます。
mydestination = $myhostname, ubuntu.net, ubuntu, localhost.localdomain, localhost
参照:
1、 「Linuxはそれを学ぶべきだ」
2、 Build Your Own Email Server on Ubuntu: Basic Postfix Setup
Recommended Posts