mail

(PHP 4, PHP 5, PHP 7, PHP 8)

mailメールを送信する

説明

function mail(
    string $to,
    string $subject,
    string $message,
    array|string $additional_headers = [],
    string $additional_params = ""
): bool

メールを送信します。

パラメータ

to

メールの受信者。

» RFC 2822 を満たす書式でなければ なりません。例えば以下のようなものです。

  • user@example.com
  • user@example.com, anotheruser@example.com
  • User
  • User , Another User

subject

送信するメールの表題。

警告

表題は » RFC 2047 を満たすものでなければなりません。

message

送信するメッセージ。

改行コードは CRLF (\r\n) となります。各行の長さは 70 文字を超えては いけません。

警告

(Windows のみ)PHP が SMTP サーバーと直接通信をする際、行頭に ピリオドがある場合、そのピリオドは除去されます。これを防ぐには、行頭のピリオドを ピリオド 2 つに置き換えてください。

<?php
$text = str_replace("\n.", "\n..", $text);
?>

additional_headers(オプション)

メールヘッダの最後に挿入される String または array

通常、これは追加のヘッダ(From、Cc、Bcc)のために用いられます。 複数のヘッダを追加する場合は CRLF(\r\n)で区切ります。 外部からのデータを用いてヘッダを組み立てる際には、想定外のヘッダが注入されることを防ぐための処理が必要です。

array が渡されると、キーがヘッダの名前となり、 値がそれぞれのヘッダの値になります。

注意:

メールを送信する際には、必ず