Mac OSX Yosemite のXamp5.6.3でメール送信

長野県 WEB制作

こんにちは。

今回は、Mac YosemiteのXamppでPHPからメール送信可能な状態に設定します。

MacにはPostfixが予めインストールされているため、
Gmailを使って簡単設定でメール送信サーバを構築します。

Postfixの設定

まず、Postfixの設定をすすめていきます。

デフォルトのチェック

ターミナルで下記のコマンドを実行します。
エラーメッセージが出なければ問題ありませんです。

[bash]
$ sudo postfix check
[/bash]

リレーサーバーを設定

メールを送信出来るようにするため、外部のメールサーバー(この場合はGmail)へリレーする設定を追加します。
postfixの設定ファイルをいじります。

[bash]
$ sudo vi /etc/postfix/main.cf
[/bash]

下記の内容を最下部に追記

[bash]
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
tls_random_source=dev:/dev/urandom
[/bash]

sasl用のパスワードファイルにGmailのアカウントを追記

Postfixからのメール送信をGmail経由にて送るため、sasl用のパスワードファイルにGmailのアカウントを追記します。

[bash]
$ sudo vi /etc/postfix/sasl_passwd
[/bash]

上記コマンドで作成されたファイルに下記内容を追記

[bash]
[smtp.gmail.com]:587 アカウント名@gmail.com:パスワード
[/bash]

作成したファイルにpostmapコマンドを使って、アカウントのテーブルファイルを作成します。

[bash]
# sudo postmap /etc/postfix/sasl_passwd
[/bash]

設定ファイルのチェック&再起動

[bash]
$ sudo postfix check
$ sudo postfix reload
[/bash]

送信テスト

メールの送信テストを行います。
正常に送信出来ない場合は、上記までの手順を見なおしてください。
ちなみにログ・ファイルは → /var/log/mail.log

[bash]
$ date | mail -s test アカウント@gmail.com
[/bash]

Xamppの設定

あとはXamppの設定をして、メールを送信します。

php.iniの編集

sendmail_path を変更します。

[text]
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =
sendmail_path = "env -i /usr/sbin/sendmail -t -i"
[/text]

送信テスト

最後にメールの送信テストプログラムを実行します。

[php]
<?php
if (mail("example@example.com", "TEST MAIL", "This is a test message.", "From: from@example.com")) {
echo "メールが送信されました。";
} else {
echo "メールの送信に失敗しました。";
}
[/php]

関連記事

TOP
TOP