FreeBSD前書き新しいWebサーバーをセットアップする際の最も一般的なニーズの1つは、電子メールの送信です。SESなどのメールサービスに接続することです。外部サービスを使用すると、サーバーIPがスパム対策サービスによってブラックリストに登録されるなどの落とし穴を回避できます。このチュートリアルでは、FreeBSDに組み込まれているSendmailサービスをSendGridに接続して、サーバーからメールを送信する方法について説明します。面倒なことなく、別の外部メールサービス用に設定を調整することもできます。FreeBSDを初めて使用する場合、私たちが行うことの一部は少し怖いように見えるかもしれませんが、すぐに袖をまくり、FreeBSDプロのようなシステムツールを少し再コンパイルすることに慣れるでしょう。目標このチュートリアルでは、次のことを行います。サーバーが外部サービスで認証できるように、SASLサポートでSendmailを再コンパイルします適切な設定でSendmailメールサーバーを構成する送信メールをテストして、サーバーからメールが送信されることを確認します前提条件このガイドを始める前に、次のものが必要です。vim`などのお気に入りのテキストエディターをインストールする必要があります。テスト用の無料のhttps://sendgrid.com/user/signup[SendGrid]アカウント、またはサービスのSMTP詳細を提供する別のメールプロバイダー。外部メールプロバイダーには次の詳細が必要になります。SMTPホスト名ユーザー名パスワードサーバーのホスト名。*として最も簡単に実行できます。suステップ1-パッケージ管理のセットアップまず、外部メールサービス(この場合はSendGrid)で認証できるように、Sendmailを再コンパイルする必要があります。[FreeBSDの公式ハンドブック]に従ってください。Collection]からコンパイルされるため、最初に最新のものにする必要があります。updatePortmasterユーティリティを使用すると、Portsツリーからソフトウェアを簡単にコンパイルできるので、インストールしてみましょう。portmaster次のコマンドを実行して、FreeBSDの最新のパッケージ形式で新しくコンパイルされたパッケージをインストールすることをシステムが認識していることを確認します。+`パッケージをコンパイルしてインストールします。これは、外部メールサービスでの認証に使用されます。*がチェックされていることを確認します。これはデフォルトです。`を2回押してすべてのデフォルトを選択します。+」と答えてパッケージをアップグレードおよびインストールします。次で終わる大量の出力が予想されます。+`サービスをインストールします。プロンプトが表示されたら、デフォルトを受け入れて[OK]を選択します。`を編集し、ファイルの最後に次の構成パラメーターを追加します。`+`をサーバーのホスト名に置き換えます。saslauthd`サービスを開始します。Sendmailオプションを認識できるようにします。-DSASLSENDMAIL_LDFLAGS=-L/usr/local/libSENDMAIL_LDADD=-lsasl2手順3-SASLサポートを使用したSendmailの再コンパイルこのセクションでは、SASL認証を使用するためにSendmailを再コンパイルします。10.1の最新のソースコードを同期する必要があります。必要なソースコードを簡単に入手できるようにSubversionをインストールします。+`のソースを更新できます。/usr/src次のコマンドは、一度に1グループずつ連続して実行する必要があります。ここで行っているのは、新しいセキュリティ要件とログイン要件で組み込みのSendmailパッケージを再コンパイル(または再構築)し、Sendmailを再インストールするようにシステムに指示することです。installステップ4-Sendmailの構成ここまでで、あなたは物事を再コンパイルしました。続けましょう!次のステップでは、選択した外部スマートホスティングサービスを介してすべての送信メールをルーティングするようにSendmailに指示する基本的なSendmail構成について説明します。mail`ディレクトリのバックアップを作成します。/etc/mail.bakメール構成ディレクトリを入力します。/etc/mail次のコマンドを実行して、基本的なメール構成を生成します。+`ファイルを作成および編集します。「」をFQDNに、「」をドメイン名に置き換えます。+`ファイルを作成および編集します。変数をローカルのホスト名に置き換えます。`ファイルを作成および編集します。+`アドレスを変更する必要があります。`ファイルを作成および編集します。「」と「」をSendGridアカウント名とパスワードに置き換えます。+`値をプロバイダーのサーバーアドレスに変更する必要もあります。`ファイルは、実際にはSendmailが設定パラメーターを読み取る単純なデータベースになります。+`から実行するだけです。authinfo次に、いくつかのコマンドを生成して、基本構成を編集します。`ファイルを編集します。+`ブロックの場所を変更するために、次の設定行を挿入します。`アドレスをプロバイダーのサーバーアドレスに変更する必要があります。*にするドメインに更新する必要があります。(適切なTXT、DKIM、PTRなどを設定する必要がある場合があることに注意してください。なりすましの報告を避けるための記録。default変更を適用する前に、上記の構成を少し見てみましょう。最初のブロックは、送信メールがドメイン「++」から送信されているように見えるようにしたいことをSendmailに伝えることです。メールを_スマートホスト_する場所を定義しています。+`ファイルを参照していることに注意してください。次に、行った変更を適用します。+`ディレクトリにいることを確認してください。Sendmailが開始されていることを確認します。restartSendmailを再起動します。restartSendmailの構成が完了しました。次のステップは、テストメールを送信することです。ステップ5-テストメールを送信する適切なセットアップのためのすべてのステップを完了したので、すべてが機能していることを確認しましょう。+`コマンドを使用して、毎日使用する実際のメールアカウントにテストメッセージを送信します。ENTER」を押します。Subject:その後、カーソルとテストメールの本文を書く機能だけが表示されます。ENTER」を押します。」に伝える必要があります。そのためには、メッセージを単一の「。」を押す必要があります。.EOT次に、次のコマンドを実行して、メールキューが空であり、メッセージが送信されたことを確認します。mailqテストメッセージが正常に送信された場合、出力は次のようになります。受信トレイに表示されます。0今すぐメールをチェックして、メッセージが到着したことを確認してください。メールキューが空であることを盲目的に信頼することは、有効なテストではありません。メッセージを受信して​​いる場合でも、メールログを表示するための基本を知りたいと思うでしょう。次のコマンドを実行します。smtp.sendgrid.net。`*以下のログ出力でこれらのメッセージを見つけられることを確認してください。progress)これは、あなたのメッセージが受け入れられ、受信トレイに送られていることを示しています。受信している場合は、少し逆境になります。maillog`コマンドを実行したまま、もう1つでテストメッセージを送信します。Dropletから送信メールを送信する準備が整いました。展開するWebサイトまたはWebアプリケーションは、最小限の構成から構成なしでこれを利用できるようになります。ご質問やご意見がありましたら、下に残してください。