GNU/Linux >> Linux の 問題 >  >> Debian

Mailjetを使用してDebianでPostfixSMTPリレーを設定する方法

このチュートリアルでは、DebianでMailjetを使用してPostfixSMTPリレーを設定する方法を説明します。 Postfixは人気のあるオープンソースのSMTPサーバーです。以前、Modoboaを使用してDebianで独自の電子メールサーバーをすばやくセットアップする方法についての記事を書きました。これは、多くの読者が独自の電子メールサーバーを実行するのに役立ちました。

ただし、一部の読者から、メールスパムを制御する方法として、ホスティングプロバイダーまたはISPによってポート25がブロックされているため、メールを送信できなかったとのことです。 Vultrは、要求された場合にポート25のブロックを解除し、ScalaHostingはポート25をまったくブロックしないため、ScalaHostingVPSを使用することをお勧めします。 DigitalOceanなどの他のホスティングプロバイダーやISPは、ポート25のブロックを解除しないため、ホスティングプロバイダーを変更できない、または変更したくない場合は、このブロックを回避するにはどうすればよいですか?

レスキューへのSMTPリレー

ポート25をバイパスし、ポート587を使用するため、SMTPリレーを使用して外部に電子メールを送信できます。SMTPリレーを使用すると、独自の電子メールサーバーが宛先の電子メールアドレスに直接電子メールを送信しません。代わりに、ユーザーに代わってメールを送信する中間メールサーバー(スマートホストまたはリレーホストとも呼ばれます)があります。メールサーバーはポート587でスマートホストと通信し、スマートホストはポート25で受信者のメールサーバーと通信します。

SMTPリレーは、何らかの理由でIPアドレスがブラックリストに登録されている場合に、スパム対策ブラックリストを回避するのにも役立ちます。受信者のメールサーバーは、スマートホストのIPアドレスを、サーバーのIPアドレスではなく、公開されているスパム対策ブラックリストと照合します。SMTPリレーサービスはIPの評判を維持しているため、メールはIPブラックリストを通過できます。

Mailjetを使用して1日あたり200通のメールを無料で送信

スマートホストとして機能できる電子メールサービスプロバイダー(ESP)がいくつかあります。少額の料金を請求するものもあれば、毎月無料の割り当てを提供するものもあります。この記事では、1日あたり200通のメールを無料で送信できるメールサービスプロバイダーであるMailjetの使用方法を紹介します。

Mailjetの良いところは、無料のSMTPリレーサービスを使用するときにクレジットカードの詳細を入力する必要がないことです。毎月無料の割り当てを提供するが、クレジットカードの詳細を入力する必要がある他のESPがあります。 (クレジットカードを持っていない場合にどれほどイライラするかはわかっています。)Mailjetは、他のESPと比較してセットアップも簡単です。

mailjet.comでアカウントを作成します。次に、ダッシュボードで、実行する必要がある3つのことを確認できます。

  • SMTPの設定
  • 送信者アドレスの管理
  • ドメイン認証(SPFおよびDKIM)の設定

ステップ1:DebianでのPostfixSMTPリレーの設定

まず、次のコマンドを使用して、DebianにPostfixSMTPサーバーをインストールしましょう。 サーバーでPostfixがすでに実行されている場合は、Postfixのインストールをスキップしてください 、ただし、 libsasl2-modulesをインストールする必要があります パッケージ。

sudo apt install postfix libsasl2-modules

次のメッセージが表示されたら、Tabキーを押してEnterキーを押します。

次に、2番目のオプションを選択します:インターネットサイト

次に、システムメール名を設定します。たとえば、ドメイン名 linuxbabe.comを入力します 。

Postfixをインストールしたら、構成ファイルを開きます。

sudo nano /etc/postfix/main.cf

次の行を見つけます。

relayhost =

デフォルトでは、その値は設定されていません。 mailjetアカウントからこの値を取得する必要があります。 mailjetダッシュボードで、[ setup my SMTP]をクリックします 。

SMTPサーバーアドレスとSMTP資格情報が表示されます。

Postfix設定ファイルでrelayhostの値を設定します in-v3.mailjet.com:587へ 。

relayhost = in-v3.mailjet.com:587

次に、このファイルの最後に次の行を追加します。

# outbound relay configurations
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000

ファイルを保存して閉じます。次に、 / etc / postfix / sasl_passwdを作成します ファイル。

sudo nano /etc/postfix/sasl_passwd

以下のように、SMTPリレーホストとSMTP資格情報をこのファイルに追加します。 api-keyを置き換えます およびsecret-key 実際のMailjetAPIキーと秘密キーを使用します。

in-v3.mailjet.com:587  api-key:secret-key

ファイルを保存して閉じます。次に、 postmapを使用して対応するハッシュデータベースファイルを作成します 。

sudo postmap /etc/postfix/sasl_passwd

これで、ファイル /etc/postfix/sasl_passwd.dbが作成されます。 。変更を有効にするには、Postfixを再起動します。

sudo systemctl restart postfix

デフォルトでは、 sasl_passwd およびsasl_passwd.db ファイルは、サーバー上のすべてのユーザーが読み取ることができます。権限を600に変更して、rootのみがこれら2つのファイルの読み取りと書き込みを行えるようにします。

sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

今後、Postfixはmailjetを介してメールを送信します。

ステップ2:送信者アドレスを追加する

mailjetを介してメールを送信するには、送信者ドメインまたは送信者アドレスを追加する必要があります。 mailjetダッシュボードで、[送信者アドレスの管理]をクリックします 。ドメイン全体または特定のメールアドレスを検証できます。

ステップ3:ドメイン認証の設定

このステップでは、SPFとDKIMレコードを設定する必要があります。これは、メールをスパムフォルダではなく受信者の受信トレイに送信する場合に強くお勧めします。

  • SPF:SenderPolicyFramework。これは、ドメインからの電子メールの送信を許可するIPアドレスを指定するDNSレコードです。
  • DKIM:DomainKeysIdentifiedMail。 Mailjetは、秘密鍵を使用して電子メールにデジタル署名します。 DKIMレコードには、受信者の電子メールサーバーが署名を検証できるようにする公開鍵が含まれています。

mailjetダッシュボードで、[ドメイン認証の設定]をクリックします 。デフォルトでは、SPFステータスとDKIMステータスの両方がエラーになっています。 管理をクリックします ボタンをクリックし、指示に従ってSPFおよびDKIMレコードを追加します。

SPFおよびDKIMレコードが作成されたら、しばらく待って、mailjetWebページを更新します。 DNSホスティングサービスによっては、新しいDNSレコードがインターネット上で伝播するのに時間がかかる場合があります。 SPFおよびDKIMレコードが正しく設定され、伝播が完了すると、mailjetはSPFおよびDKIMレコードが適切であることを通知します。

テストメールの送信

これで、 mailxを使用してテストメールを送信できます。 以下のようなコマンド。

sudo apt install bsd-mailx

echo "this is a test email." | mailx -r from-address -s hello to-address

Webメールクライアントまたはデスクトップメールクライアントからテストメールを送信することもできます。 https://www.mail-tester.comでメールスコアをテストすることもお勧めします。ご覧のとおり、満点です。

トラブルシューティング

メールが配信されず、メールログ( /var/log/mail.log )に次のメッセージが見つかった場合 )、

Relay access denied (in reply to RCPT TO command))

次に、 / etc / postfix / sasl_passwdを編集する必要がある場合があります ファイルを作成し、以下のようにホスト名の後のポート番号を削除します。

in-v3.mailjet.com    api-key:secret-key

ファイルを保存して閉じます。次に、インデックスファイルを再度作成します。

sudo postmap /etc/postfix/sasl_passwd

変更を有効にするには、Postfixを再起動します。

sudo systemctl restart postfix

これで、メールキューをフラッシュできます(以前のメールの配信を試みます)。

sudo postqueue -f

ドメインの追加

新しいドメイン名用に新しいマシンにメールサーバーを設定し、この新しいドメイン名用にSMTPリレーを設定する場合は、同じ手順に従います。

  • PostfixSMTPリレー設定を構成します
  • Mailjetダッシュボードで新しいドメイン名を検証します
  • SPFとDKIMの検証を設定する

Debian
  1. Debian 11に静的IPを設定する-その方法は?

  2. Debian11サーバーでSFTPサーバーをセットアップする方法

  3. Debian9でHTTP/2サポートを使用してNginxを設定する方法

  1. Debian10でWireGuardVPNを設定する方法

  2. Debian10でUFWを使用してファイアウォールを設定する方法

  3. Ubuntu\DebianでUFWを使用してファイアウォールを設定する方法

  1. Debian9でUFWを使用してファイアウォールを設定する方法

  2. Debian10でMinecraftサーバーをセットアップする方法

  3. Debian11でPostfixAdminを使用してメールサーバーを設定する方法