MAMPのローカル環境からメールを送信する方法を丁寧に解説

MAMPのローカル環境からメールを送信する方法 環境構築

MAMPのローカル環境ではPHPでメールの送信ができず不便ですが、設定すればローカルでもメールの送信ができるようになります。

今回はMAMPのローカル環境でメールを送信する設定のやり方を解説します。

使用するメールはGmailです。

 

スポンサーリンク

メール転送のソフトウェア、Postfixについて

Postfixとはメールを転送するソフトウェアのことです。メールの送信はこのPostfixを使って行われています。

Macにはデフォルトでインストールされているので、Postfixの設定を変更することでMAMPのローカル環境からでもメールが送信できるようになります。

 

難しそうと思うかもしれませんが、そこまで難しくないので安心してください。

 

メール送信の設定の手順

設定の手順は以下の通りです。

  1. Gmailのアプリパスワードを取得
  2. それを使ってPostfixの設定を変更
  3. テストメール送信、メール受信できればok

順番に解説します。

 

1.Gmailのアプリパスワードを取得

Gmailはメールを送信する際に認証が必要なので、それに必要なアプリパスワードを用意する必要があります。

以下のリンクからアプリパスワードを設定しましょう。

アプリパスワードを設定

 

アプリパスワードを取得するデバイスやアプリを設定

ログインしたら、

  • アプリを選択→メール
  • デバイスを選択→Mac

を選択し、「生成」をクリックします。

 

アプリパスワードが生成される

アプリパスワードが生成されます。

このアプリパスワードはあとで使うのでこのタブを開いたままにしておいてください。

 

「アプリパスワードが使えません」みたいな文章が出た人はアカウントの2段階認証を行なっていないのが原因です。2段階認証をしないとアプリパスワードは使えないのでサクッとやってしまいましょう。

まず以下のURLにアクセスします。

Google アカウント

 

アカウント画面にアクセス

「セキュリティ」をクリックします。

 

2段階認証をオンにする

「2段階認証プロセス」をオンにすればokです。

 

2.Postfixの設定を変更

/private/etc/postfix/main.cfを編集します。(Mac本体のルートディレクトリから辿ったパスです!)

適当なテキストエディタで開いて、以下をmain.cfの一番最後にそのままコピペします。

# gmailを使用できるようにする
myorigin = gmail.com
myhostname = smtp.gmail.com
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/private/etc/postfix/アプリパスワード
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
inet_protocols = all
smtp_use_tls = yes
smtp_tls_security_level = encrypt
tls_random_source = dev:/dev/urandom

「アプリパスワード」と書いてあるところにさっき取得したアプリパスワードをそのままコピペしてください(空白は要りません)。

 

次にターミナルで

sudo vim /private/etc/postfix/アプリパスワード

を実行します。アプリパスワードはさっき取得したアプリパスワードに置き換えてください。

vimの編集画面になったらiキーでインサートモードにし、

[smtp.gmail.com]:587 メールアドレス@gmail.com:アプリパスワード

これをコピペします。アプリパスワードは置き換えてください。

メールアドレスは送信先のメールアドレス(=メールを受信したいアドレス)に置き換えます。

そこまでできたらescキーを押して、:wqで終了します。(:wqはwrite&quit=書き込んで終了という意味のvimコマンドです)。

 

終わったら/private/etc/postfix/ディレクトリを確認してみましょう。「アプリパスワード名」というファイルができていたらokです。

「vimを扱うのが怖い…」という人はファイルを自分で作成して編集するのがオススメです。

/private/etc/postfix/ディレクトリに適当なファイルを用意して、ファイル名を「アプリパスワード名」にして保存します。

それを適当なテキストエディタで開いて、

[smtp.gmail.com]:587 メールアドレス@gmail.com:アプリパスワード

をメールアドレスとアプリパスワードを置き換えて保存すればokです。

 

次に以下のコマンドを実行します。アプリパスワードは置き換えてください。

sudo postmap /private/etc/postfix/アプリパスワード 

すると、/private/etc/postfix/ディレクトリに「アプリパスワード名.db」というファイルが作られるはずです。

アプリパスワード名のファイルを作成

 

これでPostfixの設定はokです。

 

3.テストメール送信

ちゃんと設定できているかテストメールを送信して確認してみます。

以下のコマンドでテストメールを送信します。

date | mail -s test 受信したいアドレス@gmail.com

30秒後くらいに送信日時が書かれたメールが来ればokです。お疲れ様でした!

 

設定後はローカルのお問い合わせフォームなども動作するはずです。もちろんメールの送信や自動返信もできるようになっています。

 

まとめ

MAMPのローカル環境でメールを送信できるように設定しておくと、お問い合わせフォームなどの動作チェックをしたい場合などにかなり便利です。

ぜひ試してみてください!