【PHP】mail関数を使う前に準備しておくこと

2015年10月12日

PHP を使ってメールを送信するには mail() 関数を使用して送信します。
mail() 関数の引数を確認してみると

詳細は、下記URLを参照してください。
http://php.net/manual/ja/function.mail.php

・メールの受信者。
・送信するメールの表題。
・送信するメッセージ。

を設定することになります。
メールの送信者を指定する引数がありません。

よく解説をみてみると
注意書きのところに以下のように書いてあります。

「メールを送信する際には、必ず From ヘッダが含まれていなければなりません。
additional_headers パラメータで指定するか、 あるいは php.ini にデフォルト値を指定します。」

また、変更履歴を見てみると
4.3.0(Windows のみ)から
すべてのカスタムヘッダ(From、Cc、Bcc や Date など)がサポートされるようになったみたいですね。

パラメータで指定するのは簡単だと思いますので
ここでは、php.ini にデフォルト値を設定する手順を書いておきます。
まずは、php.ini をテキストエディタで開いて、検索で [mail function] を検索します。
991行目付近にあると思います。

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com

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

Windows の場合には、SMTP,smtp_port,sendmail_from を自身の環境に応じた値を指定します。
sendmail_from は、先頭のコメントを外し忘れないようにしましょう。

編集できたらファイルを保存して、Apacheなどのウェブサーバーを一旦再起動しましょう。

組み込み関数

Posted by 管理人