検索結果を介してメールを送信するようにPostfixサーバーを設定する方法
Postfixは、電子メールを送受信するためのSMTPサーバーまたはクライアントとして機能できるメール転送エージェント(MTA)です。 Google Workspace(以前はG SuiteやGoogle Appsと呼ばれていました)とGmailを使用してメールを送信するようにPostfixを設定したい理由はたくさんあります。 一つの理由は、現在のサーバーのIPがブロックリストに追加されている場合、メールにスパムとしてフラグが設定されないようにすることです。このガイドでは、GmailとGoogle Workspaceを介してメールを送信するためにDebianまたはUbuntuにPostfixサーバーをインストールおよび設定する方法を学習します。 他の外部SMTPサーバーでPostfixを設定する方法については、「外部SMTPサーバーを使用してメールを送信するためのPostfixの設定ガイド」を参照してください。
Linodeでの電子メールに関する注意
このガイドでは、電子メールの送信が含まれているか、結果として発生する可能性があります。 スパムと戦うために、Linodeは2019年11月5日以降に作成された新しいアカウントのすべてのLinodeのポート25、465、および587の送信接続を制限します。 詳細については、Linodeでの電子メールの送信を参照してください。このガイドでは、電子メールの送信が含まれるか、結果として発生する場合があります。 スパムと戦うための努力では、Linodeは制限します…
作業を開始する前に
-
サーバーガイドの設定を完了し、Linode’shostnameが設定されていることを確認してください。
-
システムの更新:
sudo apt-get update && sudo apt-get upgrade
-
webブラウザを使用して、togmailにログインして電子メールのログイン資格情報を確認します。
注
このガイドは、root以外のユーザー向けに書かれています。 昇格された特権を必要とするコマンドの前にはsudo
が付きます。sudo
コマンドに慣れていない場合は、users and Groupsガイドを確認できます。
Postfixのインストール
このセクションでは、Postfixと、Simple Authentication and Security Layer(SASL)を管理するのに役立つパッケージlibsasl2をインストールします。
-
Postfixと
libsasl2-modules
パッケージをインストールする:sudo apt-get install libsasl2-modules postfix
-
プロンプトが表示されたら、Postfixインストーラが設定するメールサーバのタイプとしてインターネットサイトを選択します。 次の画面で、システムメール名は、メールを送受信するドメインに設定されている必要があります。
-
インストールが完了したら、
myhostname
パラメータがサーバーのFQDNで構成されていることを確認します。File:/etc/postfix/main.cf
1
myhostname = fqdn.example.com
Postfixのアプリパスワードを生成する
二要素認証(2FA)が有効になっている場合、Gmailは、認証の第二ステップを提供しないPostfixのようなアプリケーションからの接続を拒否するように事前に設定されています。 これは、権限のないユーザーがアカウントにアクセスすることを制限するように設計された重要なセキュリティ対策ですが、ここで行っているように、一部のSMTPクライアントを介してメールを送信することを妨げます。 Postfix固有のパスワードを作成するようにGmailを設定するには、次の手順に従います:
-
Googleアカウントにログインし、アカウントのアクセスとセキュリティ設定ページを管理します。
-
Googleにサインインするセクションまでスクロールし、2段階認証を有効にします。 続行する前に、パスワードと確認コードの入力を求められる場合があります。
-
同じセクションで、Postfixで使用できる一意のパスワードを生成するには、onApp passwordsをクリックします。
-
[アプリの選択]ドロップダウンをクリックし、[その他(カスタム名)]を選択します。 「Postfix」と入力し、「生成」をクリックします。
-
新しく生成されたパスワードが表示されます。 それを書き留めたり、次の手順で簡単に見つけることができるように安全な場所に保存してから、完了をクリックします:
Gmailのユーザー名とパスワードをPostfix
に追加するユーザー名とパスワードは/etc/postfix/sasl/
ディレクトリのsasl_passwd
に保存されます。 このセクションでは、電子メールのログイン資格情報をこのファイルとPostfixに追加します。
-
/etc/postfix/sasl/sasl_passwd
ファイルを開くか作成し、SMTPホスト、ユーザー名、およびパスワード情報を追加します。ファイル: /etc/postfix/sasl/sasl\\_passwd
1
:587 :password
注
SMTPサーバーアドレス設定smtp.gmail.com
は、ポート587(StartTLS)およびポート465(SSL)を介したメッセージ送信をサポートします。 どちらのプロトコルを選択しても、ポート番号が/etc/postfix/sasl/sasl\_passwd
ファイルと/etc/postfix/main.cf
ファイルで同じであることを確認してください。 詳細については、google Workspaceの”プリンタ、スキャナ、またはアプリからのメールの送信”のヘルプ記事を参照してくださ -
postmap
コマンドを実行して、Postfix用のハッシュdbファイルを作成します:sudo postmap /etc/postfix/sasl/sasl_passwd
すべてがうまくいった場合は、sasl_passwd.db
という名前の新しいファイルが/etc/postfix/sasl/
ディレクトリにあるはずです。
Postfixハッシュデータベースと電子メールパスワードファイルを保護
前の手順で作成された/etc/postfix/sasl/sasl_passwd
と/etc/postfix/sasl/sasl_passwd.db
ファイルには、SMTP資格情報がプレーンテキストで含まれています。
これらのファイルへのアクセスを制限するには、rootユーザーのみがファイルの読み取りまたは書き込みをできるようにアクセス許可を変更します。 次のコマンドを実行して、所有権をrootに変更し、2つのファイルのアクセス許可を更新します:
sudo chown root:root /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.dbsudo chmod 0600 /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db
Postfix Relay Serverの設定
このセクションでは、GmailのSMTPサーバーを使用するように/etc/postfix/main.cf
ファイルを設定します。
-
次の例に一致するように、
/etc/postfix/main.cf
内のrelayhost
を検索して変更します。 ポート番号が上記の/etc/postfix/sasl/sasl\_passwd
で指定したものと一致していることを確認してください。ファイル:/etc/postfix/main.cf
1
relayhost = :587
-
ファイルの最後に、認証を有効にするために次のパラメータを追加します。
File:/etc/postfix/main。cf
1 2 3 4 5 6 7 8 910
# Enable SASL authenticationsmtp_sasl_auth_enable = yes# Disallow methods that allow anonymous authenticationsmtp_sasl_security_options = noanonymous# Location of sasl_passwdsmtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd# Enable STARTTLS encryptionsmtp_tls_security_level = encrypt# Location of CA certificatessmtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
-
変更を保存し、ファイルを閉じます。
-
Postfixを再起動する:
sudo systemctl restart postfix
トラブルシューティング-“安全性の低いアプリ”アクセスを有効にする
場合によっては、Gmailが”安全性の低いアプリ”と呼ぶものからの接続をブロックする”アクセスを有効にするには:
-
“安全性の低いアプリ”を有効にするアクセス
オンにするを選択します。 黄色の”更新”通知がブラウザウィンドウの上部に表示され、Gmailは自動的に確認メールを送信します。
-
次のセクションに示すように、Postfixをテストします。 テストメールが数分後に表示されない場合は、新しいアプリケーションログインの試行を無効にして、続行をクリックします。
GmailでPostfixメール送信をテスト
Postfixのsendmail実装を使用してテストメールを送信します。 以下に示すような行を入力し、.
がプロセスを終了するまで、行間にプロンプトが表示されないことに注意してください:
sendmail From: Subject: Test mailThis is a test email.
テストメールの送信先のメールアカウントを確認します。 tail -f
コマンドを使用してsyslog
を開き、変更をライブで表示するように表示します:
sudo tail -f /var/log/syslog
ログを終了するには、CTRL+Cを押します。
Leave a Reply