Gmailアカウントをお持ちの場合は、Gmailを介して送信メールを中継するようにMTAを設定できます。これにより、Gmailの信頼性と堅牢なインフラストラクチャのメリットが得られ、コマンドラインからメールを送信する簡単な手段が提供されます。
このチュートリアルでは、MTAとしてPostfixを使用します。 Postfixは、無料のオープンソースで、積極的に保守され、安全性の高いメール転送エージェントです。
各ステップで、次のオペレーティングシステムに固有の手順について説明します。
- Debian 9
- Ubuntu 18.04 LTS
- CentOS 7
- OpenSUSE Leap 15.0
- Arch Linux 2019.03.01
- FreeBSD 12.0
mailutilsもインストールします / mailx テストメールを送信できるようにします。必要に応じて、補足のSASLライブラリをインストールします。
#で始まるすべてのコマンド ルート権限が必要です。
1。必要なソフトウェアをインストールする
Debian、Ubuntu:
apt-get update && apt-get install postfix mailutils
「一般的なタイプのメール構成」の入力を求められたら、インターネットサイトを選択します。 。
「メール名」の入力を求められたら、メールの送信元としてメールヘッダーで使用するホスト名を選択します。完全修飾ドメイン名が推奨されますが、マシンの単純なホスト名を使用しても問題ありません。ここに入力する内容に関係なく、差出人住所は受信者にGmailアドレスとして表示されます。
「ルートおよびポストマスターのメール受信者」を設定するように求められる場合があります。 rootと入力します 、またはメールサブシステム通知を受信する必要がある別のユーザー。
その他のプロンプトについては、デフォルト値を選択できます。
Fedora:
dnf update && dnf install postfix mailx
CentOS:
yum update && yum install postfix mailx cyrus-sasl cyrus-sasl-plain
OpenSUSE:
zypper update && zypper install postfix mailx cyrus-sasl
Arch Linux:
pacman -Sy postfix mailutils
FreeBSD:
ポートコレクションからPostfixをコンパイルして、SASLのサポートを組み込みます。
portsnap fetch extract update
cd /usr/ports/mail/postfix
make config
構成ダイアログで、SASLサポートを選択します 。他のすべてのオプションは同じままにすることができます。次に:
make install clean
Mailxはバイナリパッケージからインストールできます:
pkg install mailx
2。 Gmail認証を設定する
Gmailで認証を確立するためにPostfixが使用するパスワードファイルを作成または変更します。以下の認証情報で、ユーザー名を置き換えます Gmailのユーザー名とパスワードを使用 Gmailのパスワードを使用します。カスタムGmailアプリのドメイン名を使用している場合は、 gmail.comを置き換えることができます GoogleAppsドメインを使用します。
パスワードファイルはPostfix設定ディレクトリにあります。ファイルには任意の名前を付けることができますが、推奨されるファイル名は sasl_passwdです。 。
Debian、Ubuntu、Fedora、CentOS、OpenSUSE、Arch Linux:
Postfix設定ファイルはディレクトリ/etc / postfixにあります 。パスワードファイルを作成または編集します:
nano /etc/postfix/sasl_passwd
次の行を追加します:
[smtp.gmail.com]:587 [email protected]:password
ファイルを保存して閉じます。 Gmailのパスワードはプレーンテキストで保存されるため、rootのみがファイルにアクセスできるようにします。
chmod 600 /etc/postfix/sasl_passwd
FreeBSD:
Postfix設定ファイルはディレクトリ/usr / local / etc / postfixにあります 。パスワードファイルを作成または編集します:
nano /usr/local/etc/postfix/sasl_passwd
次の行を追加します:
[smtp.gmail.com]:587 [email protected]:password
ファイルを保存して閉じます。ルートからのみアクセスできるようにする:
chmod 600 /usr/local/etc/postfix/sasl_passwd
3。 Postfixを設定する
Postfix設定ファイルmain.cfで設定する必要のある6つのパラメータがあります 。パラメータは次のとおりです。
リレーホスト 、メールリレーのホストとポート番号を指定します。ホスト名は角かっこで囲まれ、MXルックアップが不要であることを指定します。
smtp_use_tls 、トランスポート層のセキュリティを有効(または無効)にします。
smtp_sasl_auth_enable 、SASL認証を有効(または無効)にします。
smtp_sasl_security_options 、次の構成では空に設定され、Gmailと互換性のないセキュリティオプションが使用されないようにします。
smtp_sasl_password_maps 、使用するパスワードファイルを指定します。このファイルは、 postmapによってコンパイルおよびハッシュされます。 後のステップで。
smtp_tls_CAfile 、サーバーIDを検証するときに使用する認証局のリストを指定します。
Debian、Ubuntu、Arch Linux:
メインのPostfix設定ファイルを編集します:
nano /etc/postfix/main.cf
次の値を追加または変更します。
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
ファイルを保存して閉じます。
Fedora、CentOS:
メインのPostfix設定ファイルを編集します:
nano /etc/postfix/main.cf
次の値を追加または変更します。
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
ファイルを保存して閉じます。
OpenSUSE:
メインのPostfix設定ファイルを編集します:
nano /etc/postfix/main.cf
次の値を追加または変更します。
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/ca-bundle.pem
ファイルを保存して閉じます。
OpenSUSEでは、Postfixマスタープロセス設定ファイル master.cfも必要です。 変更されます。編集のために開きます:
nano /etc/postfix/master.cf
次の行を見つけます:
#tlsmgr unix - - n 1000? 1 tlsmg
コメントを外すと、次のようになります。
tlsmgr unix - - n 1000? 1 tlsmg
ファイルを保存して閉じます。
FreeBSD:
メインのPostfix設定ファイルを編集します:
nano /usr/local/etc/postfix/main.cf
次の値を追加または変更します。
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/mail/certs/cacert.pem
ファイルを保存して閉じます。
4。パスワードファイルの処理
ポストマップを使用する sasl_passwdのコンテンツをコンパイルしてハッシュします 。結果は、Postfix設定ディレクトリのファイル sasl_passwd.dbに保存されます。 。
Debian、Ubuntu、Fedora、CentOS、OpenSUSE、Arch Linux:
postmap /etc/postfix/sasl_passwd
FreeBSD:
postmap /usr/local/etc/postfix/sasl_passwd
5。 Postfixを再起動
Postfixサービスを再起動して、変更を有効にします。
Debian、Ubuntu、Fedora、CentOS、OpenSUSE、Arch Linux:
systemctl restart postfix.service
FreeBSD:
このセッションでのみPostfixサービスを開始するには:
service postfix onestart
システムの初期化時にPostfixを自動的に起動するには、 /etc/rc.confを開きます 編集用:
nano /etc/rc.conf
次の行を追加します:
postfix_enable=YES
ファイルを保存して閉じます。その後、次を実行できます:
service postfix start
Postfixを開始するには。
6。 Gmailで「安全性の低いアプリ」を有効にする
デフォルトでは、Gmailアカウントでは、ウェブ上のGmailへのログインなど、最も安全なログインのみが許可されています。リレーリクエストを許可するには、Gmailアカウントにログインして、安全性の低いアプリを許可するをオンにします。 。
詳細については、Googleサポートドキュメント「安全性の低いアプリにアカウントへのアクセスを許可する」を確認してください。
7。テストメールを送信する
メールを使用してメールを送信して、新しい構成をテストします 指図。実行:
mail -s "Test subject" [email protected]
空白行(または CC:)が表示されます フィールド。Enterキーを押すとバイパスできます)。メッセージの本文を入力し、Enterキーを押して新しい行を表示します。メールの作成が終了したら、 CTRL-Dと入力します それを送信します。メールをキャンセルするには、 CTRL-Cを押します 2回。
合成済みの電子メールを送信するには、次のコマンドを使用します:
mail -s "Subject Here" [email protected] < textfile
テキストファイル 送信するテキストを含むファイルの名前です。
動作しない場合は、ログでPostfixエラーを確認してください:
Debian:
less /var/log/mail.log
Ubuntu、Fedora、CentOS、OpenSUSE、Arch Linux:
journalctl
FreeBSD:
less /var/log/maillog
Gmailから認証エラーを受け取った場合は、安全性の低いアプリを許可することを確認してください 手順6で指定したように、Gmailアカウント設定でオンになっています。
パスワードファイルsasl_passwdを確認します 手順2で指定したように、存在し、その内容が正しくフォーマットされていること。パスワードファイルに変更を加えた場合は、手順4と5を繰り返して新しいパスワードファイルをハッシュし、Postfixを再起動してください。
TLSエラーが表示された場合は、 main.cfの構成を再確認してください。 手順3で指定されているように。設定を変更した場合は、手順5で指定されているようにPostfixを再起動します。