LinuxサーバからPostfixとGmailを利用してメールを送信する設定をCentOS7で解説します。

Gmailを利用することで、独自にメールサーバを構築する手間が省けます。

 

1. メール送信に必要なパッケージのインストール

メール転送エージェント (MTA)にPostfix、メールサーバにGmailを利用するため

必要なパッケージをインストールします。

# yum install postfix
# yum install cyrus-sasl cyrus-sasl-plain
# yum install mailx

 

2. MTAの確認

alternativesコマンドでデフォルトのMTAの確認をします。

デフォルトMTAにsendmailが設定されているときは、postfixに設定を変更します。

# alternatives --config mta

There is 1 program that provides 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.postfix

Enter to keep the current selection[+], or type selection number:

 

3. Postfixの設定

メール配送に必要な設定をします。

Gmailアカウントが必要になるので、アカウントが未登録の場合は事前に登録を済ませてください。

# vi /etc/postfix/main.cf
============================
# メールサーバのホスト名を設定します。
myhostname = mail.localdomain.local

# ドメイン名を設定します。
mydomain = localdomain.local

# 差出人のメールアドレスに使用するドメイン名を設定します。
myorigin = $mydomain

# メール受信を許可するアドレスを設定します。
# ローカルから外部への配送のみを許可するため下記を指定します。(127.0.0.1でもOK)
inet_interfaces = localhost

# IPv4 のみを有効にします。
inet_protocols = ipv4

# メールサーバー自身に配送されたとみなすドメインのリストを設定します。
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# メールのリレー(転送)を許可するネットワークを設定します。
# ローカルからのメールのみ転送を許可するため127.0.0.0/8 を指定します。
mynetworks = 127.0.0.0/8

# Gmailサーバにメールをリレーする設定をします。
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
smtp_sasl_tls_security_options = noanonymous
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
============================

 

4. sasl_passwdの設定

Gmailサーバの認証に必要なユーザIDとパスワードを記述したファイルを作成します。

# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。:パスワード

postmapコマンドでデータベースを作成します。

# postmap /etc/postfix/sasl_passwd

また他のユーザにパスワードを読み取られないためにアクセス権を設定します。

# chown root.root /etc/postfix/sasl_passwd
# chmod 600 /etc/postfix/sasl_passwd
# chown root.root /etc/postfix/sasl_passwd.db
# chmod 600 /etc/postfix/sasl_passwd.db

 

5. Postfixの起動

Postfixを起動させます。

さらにサーバを再起動しても自動的にPostfixが起動するように設定します。

# systemctl enable postfix.service
# systemctl start postfix.service

 

6. Gmail「安全性の低いアプリのアクセス」をON

Gmailの設定で、 『安全性の低いアプリのアクセス』 の設定を 「オンにする」 にします。

 

6. メール送信テスト

実際にメールが送信できるかコンソールからmailコマンドを使ってテストしてみます。

# echo "本文" | mail -s "タイトル" -r 送信元アドレス 送信先アドレス

無事メールが届けば完了です。

 

お疲れ様でした。

 

Joomla templates by a4joomla