開発環境

【2019年版】PostfixからGmail経由でメールを送信する方法

この記事では「Postfix から Gmail 経由でメール送信する方法」を紹介しています。

macOS には Postfix がインストールされているので、Gmail の情報を登録すれば簡単にメール送信を行うことができます。

XAMPP や MAMP などのローカル環境でもメール送信できるようになるので、設定しておくと便利です。
 


 

Gmail の準備

アカウント作成

Gmail アカウントを持っていない方は、こちらからアカウントを作成してメールアドレスを用意してください。
 

2段階認証の設定

次に「2段階認証プロセス」を有効化します。
*すでに有効化している場合は「アプリパスワードを取得」にお進みください。

以前は2段階認証なしでもメール送信できたのですが、現在は「安全性が低いアプリ」と判定されてしまうため、2段階認証を有効にしておきます。

Gmail にログインして、画面右上のアイコンをクリック→「Googleアカウントを管理」を押します。


 

左側メニューにある「セキュリティ」を選択します。


 

「2段階認証プロセス」を押します。


 

「開始」を押して設定を進めてください。


 

設定後に「2段階認証プロセス」がオンになっていれば完了です。


 
 

アプリパスワードを取得

次にアプリパスワードを取得します。

「アプリパスワード」を選択します。


 

「アプリを選択」で「その他(名前を入力)」を選択します。


 

自分で分かりやすい名前を入力して「生成」を押します。


 

このパスワードは Gmail のログイン情報を登録するときに使うので、この画面を開いておくかパスワードをメモしておいてください。


 
 

Postfix の設定

次に Postfix の設定を進めていきます。

ここからは /etc/postfix/ に新しいファイルを作成・編集していきます。
テキストエディタなどで作業することもできますが、ターミナルを使っていきます。
 

main.cf ファイルの編集

sudo vi /etc/postfix/main.cf と入力して Enter を押します。
sudo は「管理者権限で実行」という意味です。


 

管理者のパスワードを入力して Enter を押すと、main.cf ファイルが開きます。


 

一番下までスクロールしたらキーボードの「i」を押して、入力できるようにします。
i は insert(テキスト挿入)という意味です。


 

以下のテキストを追加します。

#Gmail Settings
relayhost = smtp.gmail.com:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/gmail_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes

 
 

追加したらキーボードの「esc」を押して編集を終了し、「:wq」と入力して Enter を押します。
esc は escape(エスケープ)、wq は write & quit(書き込んで終了)という意味です。


 
 

パスワードファイル作成

次に Gmail ログイン情報のファイルを作成します。

先ほど main.cf に追加したテキストの4行目「gmail_passwd」というファイルを作成します。
*ファイル名は変更しても問題ありませんが、main.cf と一致させてください。

sudo vi /etc/postfix/gmail_passwd と入力して Enter を押します。


 

キーボードの「i」を押して編集モードにして「smtp.gmail.com:587 メールアドレス:アプリパスワード」を入力します。
*Gmail ログイン時のパスワードではなく、最初に取得したアプリパスワードを使用します。


 

入力したら「esc」を押して編集を終了し、「:wq」と入力して Enter を押します。


 

Finder で /etc/postfix フォルダを開いてみると、gmail_passwd というファイルが作成されていることを確認できます。


 
 

パスワードファイル登録

先ほど作成した gmail_passwd からデータベースを作成します。
 

sudo postmap /etc/postfix/gmail_passwd と入力して Enter を押します。


 

Finder で /etc/postfix フォルダを開いてみると、gmail_passwd.db というファイルが作成されていることを確認できます。


 
 

パスワードファイル削除

gmail_passwd ファイルは必要ないので削除しておきます。

sudo rm /etc/postfix/gmail_passwd と入力して Enter を押します。
rm は remove(削除)という意味です。


 
 

Postfix の再起動

ここまでの変更が反映されるように Postfix を再起動しておきます。

sudo postfix reload と入力して Enter を押します。


 

postfix/postfix-script: fatal: the Postfix mail system is not running
と表示された場合は「sudo postfix start」を実行してください。
 
 

メール送信テスト

これで Postfix の設定は完了です。

最後にターミナルからメールを送信してみます。

mail -s 件名 送信先メールアドレス [ENTERを押す]
本文を入力する
. [ENTERを押す]

 


 

メールが届いていれば完了です。


 

メールが届いていない場合は「迷惑メール」フォルダを確認してみてください。

「迷惑メール」フォルダにも届いていない場合は、メールアドレスかアプリパスワードが間違っている可能性があるので、もう一度 gmail_passwd の作成からお試しください。
 
 

まとめ

以上で設定は完了です。

MAMP などのローカル環境からも Gmail でメール送信できるようになっているので、ご興味がある方は「PHPで作るお問い合わせフォーム」もぜひお試しください????

【PHP】必ず完成できる!コンタクトフォームの作り方 今回はPHPを使ったコンタクトフォーム(お問い合わせフォーム)の作り方を紹介します。 はじめに まずはデ...

 

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、携帯アプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
独学は難しそうと感じたら

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

POSTED COMMENT

  1. アバター のっち より:

    パスワード作成のところで、「sudo vi /etc/postfix/gmail_passwd と入力して Enter を押します。」が入力してもcommand not foundになってしまいます。main.cfのファイル名は一致しています。

    • Sara Sara より:

      main.cfのファイル名が一致しているということは、最初の「sudo vi /etc/postfix/main.cf」は実行できたということでしょうか?
      もしそうならば command not found(コマンドが見つからない)となることは考えにくいので、ターミナルを再起動して再度「sudo vi /etc/postfix/gmail_passwd 」を実行してみてください。

のっち にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA