PR

PHPで電子メールを送信するサンプルプログラム

スポンサーリンク

プログラム言語のPHPにはメール送信用の関数が用意されていて、かなりシンプルなプログラムで電子メール送信をすることができます。

この記事ではPHPで電子メールを送信する方法についてサンプルプログラムを提示して解説していきたいと思います。ご興味のある方はぜひ参考にしてみて下さい。

スポンサーリンク

電子メールを送信する方法

PHPで電子メールを送信するには、mail 関数を使用します。ただし、mail 関数は日本語などのマルチバイトに対応していないため、代用としてmb_send_mail 関数を使用するのが通常です。

引数や戻り値など、使い方はどちらの関数とも同じです。それでは、電子メールを送信するサンプルプログラムを見ていきたいと思います。

$to = "to@example.com";
$subject = "テストメールの件名";
$message = "This is TEST.";
$headers = "From: from@example.com";

mb_send_mail($to, $subject, $message, $headers);

プログラム解説

このプログラムについて解説します。

$to = “to@example.com”;

この部分では送信先の宛先を変数「$to」に設定しております。この例では架空のメールアドレスを指定しておりますが、実際は送信先のメールアドレスを指定してください。

$subject = “テストメールの件名”;

ここではメールのタイトルを指定して変数「$subject」に格納しております。メールソフトなどを使用すると、送信者と件名の一覧が表示されますね。そこに表示される件名です。

$message = “This is TEST.”;

メールの内容を変数「$message」に指定しております。改行をする場合は改行コード「\r\n」を入れます。

mb_send_mail($to, $subject, $message, $headers);

ここでmb_send_mail 関数を使用して電子メールを送信しております。

bool mb_send_mail(宛先, 件名, 内容, ヘッダー);

mb_send_mail 関数は第一引数に「宛先」、第二引数に「件名」、第三引数に「メールの内容」、第四引数には送信元などメールのヘッダーを指定します。メール送信がうまく行った場合は「true」、失敗した場合は「false」が返却されます。

mb_send_mail 関数は「CC」や「BCC」を指定することもできます。その場合は第四引数は次のように指定します。

$headers = "From: from@example.com";
$headers .= "\r\n";
$headers .= "Cc: cc@sexample.com";
$headers .= "\r\n";
$headers .= "Bcc: bcc@sexample.com";

PHPMailer を使って電子メールを送信する

PHPMailerライブラリを使用すれば、SMTPサーバーを利用してメールを送信することができます。SMTPサーバーを利用すれば、より安定的に大量のメールを送信することができます。

SMTPサーバーというのは、電子メールの送信を担当するサーバーです。SMTPとはSimple Mail Transfer Protocolの略で、インターネット上で電子メールを転送するためのプロトコルです。

PHPMailerライブラリを使用する簡単なサンプルプログラムを紹介しておきます。事前にPHPMailerライブラリのインストールが必要でありSMTPサーバーのドメインやポート番号などのちょっとした専門的な知識が必要になってきますので、プログラムの詳細な解説は割愛します。こういった方法もあるということを覚えておいてください。

require "PHPMailer/PHPMailer.php";

$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = "smtp.example.com";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "username";
$mail->Password = "password";
$mail->setFrom("from@example.com");
$mail->addAddress("to@example.com");
$mail->Subject = "件名";
$mail->Body = "This is TEST.";
$mail->send();

ホストやポート番号、ユーザーネーム、パスワードなどは環境によって異なります。ご自身の環境によって適切な値を設定するようにしてください。

まとめ

PHPで電子メールを送信する方法について解説してきましたが、いかがでしたでしょうか。

SMTPサーバーを使用する場合は、PHPMailerライブラリを使用して少し複雑になりますが、mail やmb_send_mail 関数使った方法は意外と簡単に感じたことと思います。

php
スポンサーリンク
シェアする
-をフォローする
プログラミングのメモ

コメント