レスポンシブ メールフォームには添付ファイル機能のアドオンをいつでも追加することができます。
(今や更新していないWordPressプラグイン版のほうには対応しておりません)
現在の最新バージョンは2022年5月19日公開の4.0.1です。
参考ページ:プログラムをアップデートするの際の思想について
各バージョンごとのアップデート内容については、このページ最下部の「アップデート履歴」に記載してあります。
f
添付ファイルアドオンはその名の通り「メールフォームに添付ファイル機能を付ける」のが主な機能になります。
レスポンシブ・メールフォームに添付ファイルアドオンを追加設置した直後の状態では、以下のように複数選択NGのファイル選択ボタンが6つ、複数選択OKのファイル選択ボタンが1つあります。
複数選択NGのボタンが6つ用意されていることに特に意味はなく、以下のように1つにしたり、
逆に、以下のように10個に増やすことも可能です。
あまり増やし過ぎるとアップロードの通信・処理時間が長くなるし、サーバー側のアップロード容量制限に引っかかる可能性があるため、現実的には2~3個程度までにしたほうが良いのではないでしょうか。
ついでに紹介しておきますと、以下のように2つ以上の項目それぞれにファイル選択ボタンを設置することも可能です。
このようにファイル選択ボタンを増減させるやり方は「メールフォームの添付ファイルアドオンの設置手順の解説」のページを参考にしてください。
添付ファイルアドオンの詳細な特長は以下のようになっています。
添付ファイルアドオン付きのメールフォームのサンプル
これはサンプルなので自由に送信しても問題ありません。
画像プレビュー機能が有効の状態になっています。(JPG、PNG、GIFだけを許可)
添付ファイルアドオン付きのメールフォームのサンプル
こちらのサンプルは画像(JPG、PNG、GIF)に加え、PDF、DOCX(DOC)、XLSX(XLS)ファイルも許可しているため、画像プレビュー機能が無効になっています。
この添付ファイルアドオンはバージョン3.0から「プレビュー機能」が実装されました。
ファイル選択のボタンは今まで通り以下のようになっていますが、
画像を選択すると以下のようにサムネイルでプレビュー表示されます。
複数選択OKのファイル選択ボタンでは、選択された画像が以下のように一覧表示されます。
「入力内容確認アドオン」を併用した場合は、送信前の確認画面にもプレビュー表示されます。
入力内容確認アドオンと併用した場合のサンプルはこちら。
入力内容確認アドオンと添付ファイルアドオンとの併用のサンプル
なお、設定ファイル(attachment-config.php)で画像ファイル以外(ZIP、PDF、DOCX、XLSX)のどれか1つでも許可していると、このプレビュー機能はオフになります。
その理由としては、そもそもZIPファイルの中身はプレビュー表示できないため、例えば画像ファイルとZIPファイルを選択した際に、
・画像ファイルだけはプレビュー表示されるのに、
・ZIPファイルはプレビュー表示されない。
という状態になると、「ZIPファイルをきちんと選択できているか?」とフォーム入力者が不安に感じてしまう可能性があるためです。
ちなみに、画像ファイル(JPG、PNG、GIF)だけを選択できる設定の時にプレビュー機能をオフにしたい場合は、以下のページ内の「プレビュー機能をオフにしたい場合」の部分でやり方を解説しています。
メールフォームの添付ファイルアドオンを追加した際のHTML構造の解説
設置はaddonフォルダに関連ファイルをまとめて入れ、index.htmlを差し替えるだけでOKですので、つまづく可能性は低いと思われます。
すでにメールフォームを既存サイトに組み込んでいる場合は、HTMLファイルに数行追加するだけで動作します。
詳細な設置手順については、「添付ファイルアドオンの設置手順.txt」というテキストファイルが同梱されています。
それと同じ内容を以下のページでも公開しておりますので、購入前の方はぜひ参考にしてください。
添付ファイルアドオンの設置手順の解説
ファイルをアップロードする機能はセキュリティ面でリスクが増すものです。
そのため、PHPファイル側での設定を正しくしておくことが望まれます。
添付ファイルアドオンを追加したメールフォームがどのようなHTML構造になるかを以下のページで解説しています。
メールフォームの添付ファイルアドオンを追加した際のHTML構造の解説
メールフォームを既存サイトに組み込んだりCSSでデザインを変更しようとした際に参考にすると、想定外のデザイン崩れを防ぐことができるでしょう。
サーバのPHPのバージョンが5.6以降である必要があります。
しかし、PHPのバージョン5世代は2018年末でセキュリティサポートが終了しているため、可能であればバージョン7世代以降にしたほうが賢明です。
PHP (プログラミング言語)のリリース履歴 – Wikipedia
【補足】
このサイトにあるサンプルデモはすべてPHPバージョン8.0以降で動作しています。
単純な文字(テキスト)データだけを扱う「入力内容確認アドオン」と違い、画像データを扱うこの添付ファイルアドオンは、サーバによってうまく動作しないケースもありえます。(後述の「既知の問題点」も参照ください)
そのような可能性に備え、まずはこのアドオンを組み込んだだけの初期状態メールフォーム(上記のサンプルページのような状態)を本番サーバにアップし、添付・送信のテストをしてみてください。
既存サイトに組み込むなどのカスタマイズ作業はそのテスト後にしたほうが、万が一正常に動作しなかった場合に原因の切り分けができるので、解決が早まります。
そして万が一、初期状態なのに正常に動作しない場合は、すぐにお問い合わせページからご連絡ください。
制作者である私が症状を確認・原因を特定し、そのサーバで正常動作するまでサポート、または修正対応いたします。(無償です)
レスポンシブ・メールフォームにはこれの他にも色々なアドオン(追加機能)がありますが、すべて併用することが可能です。
必要な機能だけを組み合わせてお使いください。
「入力内容確認アドオン」と併用した場合、送信前の確認画面にもプレビュー画像が表示されるようになります。
入力内容確認アドオンと併用した場合のサンプルはこちら。
入力内容確認アドオンと添付ファイルアドオンとの併用のサンプル
価格は15,000円(税抜)となります。設置代行サービスをなくしたことで値下げしました。
しかし設置メールサポートはついておりますので、ご自身で設置をしてみてつまづいた際にはご質問ください。
【注意点】
設置メールサポートは「アドオンの設置」に関しての質問のみとなります。
ですので、アドオンなしの初期状態のメールフォームが正常動作している上でご購入ください。
設置方法の詳細に関しては、添付ファイルアドオンの設置手順の解説ページをご覧ください。
また、カスタマイズに関してのご質問は有償メールサポートを別途お申し込みください。
ご購入は以下からどうぞ。
ペイパルと銀行振込でのお支払いの場合は、料金のお支払いをしていただき、その入金確認後にメールで添付にてお送りする形となります。
それ以外のクレジット決済の場合は、お支払後にすぐダウンロードができますのでお急ぎの方にはおすすめです。
【レスポンシブ・メールフォームの添付ファイルアドオンのご購入】
ペイパルでお支払い
お問い合わせページからお申込み(銀行振込)
STORESでご購入(クレジットカード・コンビニ決済) (決済後ダウンロード可能)
このサイトでご購入(クレジットカード決済) (決済後ダウンロード可能)
【クレジット決済の注意点】
上記のペイパルと銀行振込以外の場合は、お支払後にアドオンファイルをすぐにダウンロードできます。
このサイトでのクレジット購入の場合は、入力必須な項目を最低限としている分、ダウンロードはそのセッション中(ブラウザを閉じるまで・または24分以内)にのみ可能となります。
再ダウンロードしたい場合は、お問い合わせページからご連絡くだされば、本人確認後にメール添付にてお送りいたします。
このアドオンは現時点では通常版のバージョン5.1以降にのみ対応しています。
それ未満のバージョンであったり、WordPressプラグイン版のほうには対応しておりませんので、ご注意ください。
また、普通に使用していてプログラム上のバグ(不具合)があった場合には、追加料金なしでバグ修正を行いますので、そのような際にもご連絡ください。
(お客様の手によってJavaScriptファイルやPHPファイルを独自カスタマイズされている場合は除く)
ロリポップやヘテムルのサーバの場合、SendmailではなくqmailというMTAを使用しているらしいです。
(MTAとはサーバ上でメールを送信するための機能のようなもの)
本来、電子メールの改行コードはRFC 2822(電子メールの規約)ではCR+LFらしいのですがこのqmailはLFらしく、添付ファイルアドオンを使用した場合、正しくメールに添付されない可能性があります。
(これは添付ファイルアドオンを購入したユーザーの方からの報告によって発覚しました)
PHPマニュアルのページにも以下のように書かれています。
メッセージが受信されなかった場合には、LF(\n)のみを使ってみてください。 Unix の MTA の中には、自動的に LF を CRLF に変換してしまう もの (有名なところでは、» qmail など) があります(もし CRLF を利用していた場合、CR が重複してしまいます)。 ただし、これは最後の手段です。というのも、これは » RFC 2822 に違反しているからです。PHP: mb_send_mail – Manual
なお、この症状は何回かに1度発生するようなものではなく、問題のあるMTAの場合は毎回画像が添付されませんのですぐに気付くことができます。
ですので、送信テストを1回実施して正常に画像が添付されていたら問題なしと言えます。
ご購入した方でもし上記のような症状が起きた場合、改行コードをLFにした修正ファイルをお送りいたしますのでご連絡ください。