Qdmail/Qdsmtpを使ったメール送信フォーム作成

Qdmailは、日本語に対応したメール送信ライブラリです。PHP標準のmb_send_mail()で発生しがちな文字化けを回避してくれます。Qdsmtpとともに使用すると、標準のmail()関数が使えない環境でも手軽にメール送信を行うことができます。

【コンテンツ】

  1. Qdmail/Qdsmtpのダウンロードと利用準備
  2. 入力フォームの作成
  3. 入力フォームにPHPコードの記述
  4. 入力データ確認画面の作成
  5. メール送信処理の記述
  6. 完了画面とエラー画面の作成

【記事執筆時の環境】
PHP 5.4.7
Qdmail 1.2.6b
Qdsmtp 0.2.0a

Qdmail/Qdsmtpのダウンロードと利用準備

入手は、下記URLから行ってください。
Qdmail:http://hal456.net/qdmail/
Qdsmtp:http://hal456.net/qdsmtp/

ダウンロードしたzipファイルを展開し、
「qdmail.php」と「qdsmtp.php」の2つのファイルをサイトの適当なディレクトリに格納してください。
ここでは、'libs'というディレクトリに格納することにします。

メール送信するPHPファイル内で、以下のように記述し2つのファイルをインクルードします。

これで、Qdmail/Qdsmtpを利用する準備ができました。

入力フォームの作成

例えば、下図のような入力フォームを作成します。

入力フォーム例

コード例は以下になります。

入力フォームにPHPコードの記述

入力フォームを作成したファイルの先頭に、PHPコードを記述します。

ここでは詳細は省きますが、以下のような処理コードが必要になります。

  • セッションスタート
  • 名前やメールアドレスに使用した変数の初期化
  • セッション変数の読み出し
  • 入力されたデータの取得
  • 入力されたデータの検証
  • エラーがなければセッション変数へデータを格納し確認画面へ移動

入力データ確認画面の作成

入力データを確認のために表示するフォームを作成し、ファイルの先頭に以下の処理コードを記述します。

  • セッションスタート
  • Qdmail/Qdsmtpライブラリのインクルード
  • セッション変数の読み出し
  • 修正ボタンが押されたら入力画面へ戻る
  • 送信ボタンが押されたらメール送信

メール送信処理の記述

入力データ確認画面のファイルに、以下のように記述します。

送信するメール本文の作成

入力されたデータを読み出し、メール本文を作成します。
本文の作成には、PHPのヒアドキュメント構文を用い、以下のように変数に代入しておくと便利です。

エラーメッセージの抑制

Qdmail/Qdsmtpでは、エラー発生時に画面にメッセージを表示するようにデフォルトで設定されています。
本番環境ではエラーメッセージを出力したくないので、次のコードをメール送信処理の最初に記述します。

Qdmailの基本設定

以下のように設定します。

SMTPの送信設定

以下のように設定します。
Gmailのアカウントで、SMTP AUTHによる送信の例です。

メール送信実行と終了処理

メール送信を実行し、送信が成功した場合はセッション変数を破棄して完了画面に移動します。
送信失敗の場合はセッション変数は破棄しないで、エラー画面に移動します。

記述例は以下になります。

完了画面とエラー画面の作成

最後に、送信が成功した時に移動する完了画面と、送信が失敗した時に移動するエラー画面を作成します。
適切なメッセージを表示すればよく、PHPによる特別な処理は必要ありません。

スポンサーリンク

ページの先頭へ