検索

キーワード


【PHP】PHPでのメール機能と、迷惑メール・スパムメールについて

  • 公開日:2020-10-27 10:16:44
  • 最終更新日:2021-02-05 15:53:05

メール機能

PHPでは、応募フォームなどでユーザーに入力してもらったデータをもとに、ユーザー宛てにメールを送信するといった開発をすることが多いです。その際に使用する関数がmail関数およびmb_send_mail関数です。

どちらもメールを送信するための関数ですが、mb_send_mail関数は日本語などのマルチバイト文字のメールにも対応しているので、メールを送る際にはmb_send_mail関数を使用をおすすめします。

以降のメール送信の解説では、mb_send_mail関数を使って解説していきます。


mb_send_mail

mb_send_mail関数で渡す引数は、宛先、件名、本文、ヘッダ情報です。

mb_send_mail(宛先, 件名, 本文, ヘッダ);

それではメール送信をするプログラムを書いてみましょう。

// 日本語のメールを送る場合は、メール送信前に以下の2文を記述する
mb_language("Japanese");
mb_internal_encoding("UTF-8");

$to = "to@example.com";
$subject = "サンプルメール";
$message = "これはサンプルメールです。\r\nHow are you?";
$headers = "From: from@example.com";

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


迷惑メール・スパムメールについて

メールを送信する際には、SMTP経由で送信するのがおすすめです。SMTPは「Simple Mail Transfer Protocol」の略であり、メール送信プロトコルのひとつです。外部サーバーを経由して送信することで、迷惑メールやスパムメールに振り分けられにくくすることができます。

対策するためには、php.iniというPHPの設定ファイルを編集する必要があります。

php.iniを開き、[mail function]部分の「SMTP」にSMTPサーバ名、「smtp_port」にポート番号を記述します。

[mail function]
; http://php.net/smtp
SMTP = smtp.xxxxx.com
; http://php.net/smtp-port
smtp_port = 587

ここで指定している番号の587番はメール送信用のポート番号であり、SMTP-AUTH認証されることから信頼性が高いポートです。

まとめ

PHPでのメール機能について解説してみました。

メール送信はPHP開発でよく使われるので、しっかりと覚えましょう!

また、作成したメールが迷惑メールやスパムメールに振り分けられないよう、対策することも忘れないようにしましょう!


【著者】

當山

主にPHPでのフレームワーク開発やWebアプリの開発に携わってきました。 得意分野はHTML5とCSSによるフロントエンド開発。

よく読まれている記事