SimpleLogin を使用して匿名の電子メール エイリアスを作成する方法
SimpleLogin は軽量で使いやすいエイリアス サーバーで、新しいメールボックスを作成せずに永続的で匿名の電子メール ID を作成できます。この記事では、Ubuntu に SimpleLogin サーバーをインストールし、オンラインで使用する匿名メール エイリアスを作成する方法を説明します。
システムの準備
前提:この記事は、少なくとも 2GB の RAM を搭載した VPS にSimpleLoginをインストールしていることを前提としています。また、DNS レジストラーからアクティブなドメイン名を取得していることも前提としています。
まず、Docker プロジェクトの署名キーをマシンにインポートします。
Docker プロジェクトのリポジトリ ファイルを作成します。
リポジトリ ファイル内に次のコード行を記述します。
次のコマンドを実行して、マシンのリポジトリを更新します。
SimpleLogin の依存関係のインストール
Docker と SimpleLogin の両方の依存関係をシステムにインストールします。
Postfix インストール ウィザードでメール サーバーの構成タイプを尋ねられたら、[インターネット サイト]を選択します。
を押して、Enter「システムメール名」のデフォルト値を確認します。
「コア」スナップ パッケージがマシン上で実行されていることを確認します。
電子フロンティア財団 (EFF) から certbot スナップ パッケージをインストールします。
システムのファイアウォールが SimpleLogin 用のポートをブロックしていないことを確認します。
DNS レコードの準備
ドメイン レジストラーに移動し、マシンの IPv4 アドレスを指す新しい「A」レコードを作成します。ホスト名の値を、SimpleLogin インスタンスに必要なサブドメインに設定します。
SimpleLogin サブドメインに設定されたターゲット ホスト名を使用して、ルート ドメインの「MX」レコードを追加します。
ルート ドメインの「TXT」レコードを作成し、その値を次のように設定します。
サブドメイン「_dmarc」に別の「TXT」レコードを作成し、その値を次のように設定します。
ターミナル セッションを開き、OpenSSL を使用して DKIM キーペアを生成します。
次のコマンドを実行し、その結果をシステムのクリップボードにコピーします。これは、開発者がキーファイルから DKIM 公開キーを抽出するために使用する sed スクリプトです。
サブドメイン「dkim._domainkey」の「TXT」レコードを作成し、前のコマンドの出力をその値として設定します。
Postgres データベースの作成
SimpleLogin は、特別な DNS レコードを使用するだけでなく、PostgresDB を利用して電子メール エイリアスを管理します。これを設定するには、まず SimpleLogin Docker コンテナのサブディレクトリを作成します。
サーバー上で Docker を使用して仮想ネットワークを開始します。
次のコマンドを新しいターミナル セッションに貼り付けます。
「POSTGRES_PASSWORD」変数の値を、長いランダムなテキスト文字列に変更します。
変更した Docker コマンドを実行してデータベースを起動します。
SimpleLogin 用の Postfix の構成
まず Postfix のデフォルト設定ファイルを削除し、次に、お気に入りのテキスト エディタを使用して同じ名前の空のファイルを作成します。
次のコード ブロックを新しい構成ファイル内に貼り付けます。これは開発者のリポジトリにある Postfix テンプレートで、サーバーのドメイン名を追加する部分を強調表示するために変更しました。
「myhostname」の値を Web アプリのアドレスに変更し、「mydomain」と「myorigin」の両方の値をルート ドメインに更新します。
Postgres と Postfix をリンクする
「/etc/postfix」の下に新しい「pgsql-relay-domains.cf」ファイルを作成します。これは Postfix と Postgres の間のリンクとして機能します。
次のコード ブロックを新しい構成ファイル内に貼り付けます。
「DATABASE-PASSWORD」を Postgres パスワードに置き換えます。
同じディレクトリに新しい「pgsql-transport-maps.cf」を作成します。
次のコード ブロックを新しい構成ファイル内に貼り付けます。
前の構成と同様に、「DATABASE-PASSWORD」を Postgres のパスワードに置き換えます。
SimpleLogin のインストール
ユーザーのホーム ディレクトリに移動し、SimpleLogin の環境ファイルを作成します。
新しい環境ファイル内に次のコード ブロックを記述します。
「SUBDOMAIN.YOUR-ROOT.DOMAIN」のすべてのインスタンスを SimpleLogin URL に置き換えます。
「YOUR-ROOT.DOMAIN」の値をルート ドメインに変更します。
「DATABASE-PASSWORD」変数を Postgres パスワードに置き換えます。
新しいランダム文字列を生成し、それを値「FLASK_SECRET」として設定します。
SimpleLogin Docker コンテナの実行
この設定が完了したら、SimpleLogin Docker コンテナを取得して実行できるようになります。まず、Postgres データベースを SimpleLogin インストールにインポートします。
SimpleLogin の初期化スクリプトの Docker コンテナを実行します。
アプリのフロントエンド インターフェイスを管理する Docker コンテナを起動します。
SimpleLogin の電子メール バックエンドを処理するコンテナーを実行します。
最後に、SimpleLogin システムの日常的なタスクを管理するコンテナーを起動します。
Nginx を使用した SSL リバース プロキシの作成
この時点で、SimpleLogin はサーバーのポート 7777 で実行されています。これにアクセスするには、発信接続を SSL リバース プロキシ経由で渡す必要があります。
SimpleLogin インスタンスのサイト ファイルを作成します。
次のコード ブロックをサイト ファイル内に貼り付けます。
サイト ファイルのシンボリック リンクを「/etc/nginx/sites-enabled/」に作成します。
Nginx デーモンを再起動して、新しい設定を適用します。
次のコマンドを実行して、SimpleLogin インスタンスを EFF に登録します。
リバース プロキシの新しい SSL 証明書をリクエストします。
お気に入りのテキスト エディタを使用して Postfix 設定ファイルを開きます。
「smtpd_tls_cert_file」変数と「smtpd_tls_key_file」変数まで下にスクロールし、次のコード行に置き換えます。
ブラウザでサブドメインを開いて新しいアカウントを作成し、SimpleLogin インスタンスが適切に実行されているかどうかをテストします。
SimpleLogin を使用して電子メール エイリアスを作成する
サーバーのターミナル セッションに戻り、アプリのデータベースを開きます。
次のコマンドを実行して、プライマリ アカウントのプレミアム ステータスを有効にします。
これを行うと、アカウントで電子メールに作成できるエイリアスの数に制限がなくなります。
最初の電子メール エイリアスを作成するには、Web アプリのダッシュボードで[新しいカスタム エイリアス]ボタンをクリックします。
新しい電子メール エイリアスの覚えやすい名前を入力し、[作成]をクリックします。
別の電子メール アドレスからメッセージを送信して、新しい電子メール エイリアスが適切に機能しているかどうかを確認します。
SimpleLogin エイリアスからの電子メールの送信
SimpleLogin は、エイリアスからのメールの受信に加えて、エイリアスを介したメッセージの送信もサポートします。これを実現するために、アプリは電子メールの送信先アドレスの「逆エイリアス」を作成します。
これを行うには、電子メールの送信元となるエイリアスの[連絡先]ボタンをクリックします。私の場合は、「hello-maketecheasier@myvpsserver.top」アドレスから送信したいと考えています。
受信者の電子メール アドレスを入力し、[リバース エイリアスの作成]をクリックします。
新しい連絡先の[リバース エイリアスをコピー]ボタンをクリックし、電子メール クライアントの受信者フィールドに貼り付けます。このカスタム アドレスにメッセージを送信すると、SimpleLogin は実際の電子メールをエイリアスでマスクして受信者に伝えることができます。
SimpleLogin を使用して独自の電子メール エイリアス サーバーをセルフホスティングすることは、デジタル プライバシーを取り戻す手順の 1 つにすぎません。Mail-in-a-Box を使用して独自の電子メール サーバーをホストし、デジタル コミュニケーション チェーン全体を制御します。
画像クレジット: Lukas Blazek、UnsplashおよびSimpleLogin Githubより。すべての変更とスクリーンショットは Ramces Red によるものです。
コメントを残す