ラッコサーバー

ラッコサーバーでサイトを管理すると売却時の価値を高く保てます!
サイト/ドメインの売却をシームレスに実現します。

ラッコサーバー詳細
オンライン事業売買
WordPressサイト売買
ドメイン売買
データを読み込み中...
データを読み込み中...
データを読み込み中...

【WordPress】フォームにファイル添付機能を追加する方法(Contact Form 7)

Contact Form 7 ファイル添付設定方法

お問い合わせフォームにファイルを添付してもらえるようにしたい!

WordPressのお問い合わせフォームにファイル添付機能を追加したいとお考えですか?Contact Form 7(コンタクトフォーム7)なら、管理画面の操作だけで2ステップでファイルアップロード欄を設置できます。

この記事では、次の内容を実際の管理画面をもとに解説します。

  • Contact Form 7でファイル添付欄を追加する手順
  • PDF・画像など、受け取るファイル形式とサイズの制限方法
  • ファイルが届かないときの確認ポイント

動作確認バージョン:WordPress 7.0 + Contact Form 7 v6.1.6(2026年6月時点)

ラッコサーバー

ラッコサーバーでサイトを管理すると売却時の価値を高く保てます!
サイト/ドメインの売却をシームレスに実現します。

ラッコサーバー詳細
オンライン事業売買
WordPressサイト売買
ドメイン売買
データを読み込み中...
データを読み込み中...
データを読み込み中...

Contact Form 7 でファイル添付ができる条件

ファイル添付機能はContact Form 7に標準搭載されており、追加プラグインは不要です。ただし、事前に確認しておきたい点が2つあります。

プラグインのインストールと有効化

WordPress管理画面の左メニューから「プラグイン」→「新規プラグインを追加」を開き、「Contact Form 7」を検索してインストール・有効化します。

Contact Form 7 の基本情報

すでにContact Form 7を使ってお問い合わせフォームを設置済みであれば、このステップは不要です。

サーバーのファイルサイズ上限を確認する

ファイルアップロードが機能するには、WordPressが動作しているサーバーのPHP設定値も関係します。特に以下の2つを確認してください。

PHP設定項目 意味 推奨値
upload_max_filesize 1ファイルあたりのアップロード上限 10MB以上
post_max_size 1リクエストあたりのデータ上限 upload_max_filesizeより大きな値

WordPressの管理画面「ダッシュボード」→「サイトヘルス」→「情報」→「サーバー」で現在の値を確認できます。

MEMO

Contact Form 7でサイズ上限を「5MB」と設定しても、サーバーのupload_max_filesizeが「2MB」であれば2MB以上のファイルはアップロードできません。CF7の設定値はサーバー側の上限を超えられないため、必ず両方の確認が必要です。

STEP1:フォームにファイルアップロード欄を追加する

フォームにファイル添付欄を追加するには、タグジェネレーターを使います。設定画面の指示通りに進めるだけで、コードを手書きする必要はありません。

1. タグジェネレーターを開く

WordPress管理画面の左メニューから「お問い合わせ」→「コンタクトフォーム」を開き、編集したいフォームをクリックします。

CF7フォーム編集画面—フォームエディタとタブ全体
▲ 「コンタクトフォーム」一覧から編集したいフォームを開いた状態

フォーム編集画面が開いたら、テキストエリア上部にある「ファイル」ボタンをクリックします。

CF7フォーム編集画面—「ファイル」ボタン
▲ 「ファイル」ボタンをクリックするとタグジェネレーターが開く

2. 対応ファイル形式・サイズ上限を設定してタグを挿入する

タグジェネレーターのダイアログが開きます。主な設定項目は以下の通りです。

CF7ファイルアップロードタグジェネレーター—設定入力欄
▲ ファイルタグジェネレーター。項目名・サイズ上限・ファイル形式を設定する
設定項目 内容 入力例
項目名 このフィールドの識別名。メールタブで参照する your-file
ファイルサイズの上限 アップロードできる最大ファイルサイズ 5mb
受け入れ可能なファイルの種類 拡張子を「|」で区切って指定 pdf|jpg|jpeg|png
注意

受け入れ可能なファイルの種類を必ず指定してください。無制限にするとPHPファイルなど悪意あるファイルをアップロードされるリスクがあります。用途に合わせてPDF・画像など必要な形式のみに絞ることがセキュリティ上重要です。

設定が完了したら「タグを挿入」ボタンをクリックします。フォームのテキストエリアに次のようなタグが追加されます。

CF7フォームエディタ—fileタグ挿入後の状態
▲ フォームのテキストエリアに[file]タグが追加された状態
[file your-file filetypes:pdf|jpg|jpeg|png limit:5mb]

タグが挿入されたら「保存」ボタンをクリックして設定を保存します。

STEP2:メールにファイルを添付する設定をする

STEP1でフォームにファイル欄を追加しただけでは、送信されたファイルはメールに添付されません。メールタブで追加の設定が必要です。

1. メールタブを開く

フォーム編集画面の上部にあるタブから「メール」をクリックします。

CF7フォーム編集画面—「メール」タブ選択状態
▲ 「メール」タブをクリックしてメール設定を開く

2.「ファイル添付」欄に項目名を入力する

メール設定画面を下にスクロールすると「ファイル添付」という欄が表示されます。ここに、STEP1で設定したフィールドの名前をタグ形式で入力します。

CF7メール設定—「ファイル添付」欄に[your-file]を入力
▲ 「ファイル添付」欄にフィールド名をタグ形式で入力する

STEP1で名前を「your-file」と設定した場合は、「ファイル添付」欄に [your-file] と入力します。複数のファイルフィールドを設置している場合は、改行で区切って入力します。

入力したら「保存」をクリックして完了です。これでフォームに添付されたファイルがメールに添付されて届くようになります。

動作確認をしましょう
設定完了後は、実際にテスト送信してファイルが添付されて届くか確認してください。自分のメールアドレスに送信して確認するのが最も確実です。

複数ファイルに対応させる方法(応用)

1つのファイル欄で複数ファイルを同時に送信できるようにするには、タグに multiple 属性を追加します。

[file your-file filetypes:pdf|jpg|jpeg|png limit:5mb multiple]

タグジェネレーターを使う場合は、ダイアログ内の「複数」チェックボックスにチェックを入れるだけです。

MEMO

複数ファイルを添付する場合、個々のファイルはlimitで指定したサイズ以内である必要があります。また、メールへの添付ファイルの合計サイズ上限は25MBです(Contact Form 7公式ドキュメントより)。大容量ファイルを受け取りたい場合はGoogle DriveやDropboxへのリンクを送ってもらう方法も検討してください。

ファイルが届かない・アップロードできないときの確認ポイント

ファイルを添付したのに、メールに添付されて届かない…

設定通りに進めても動作しない場合、次のポイントを順番に確認してください。

# 確認ポイント チェック内容
1 メールタブの設定漏れ 「ファイル添付」欄にタグ名が入力されているか
2 タグ名の不一致 フォームのタグ名とメールタブの入力内容が一致しているか
3 ファイルサイズ超過 送信したファイルがlimit値以下になっているか
4 拡張子の制限 送信したファイルの拡張子がfiletypesで指定したものと一致しているか
5 サーバーのPHP設定 upload_max_filesizeとpost_max_sizeがCF7の設定値以上か
6 一時フォルダの存在 wp-content/uploads/wpcf7_uploadsフォルダが存在し、書き込み権限があるか
メール自体が届かない場合は
ファイル添付の問題ではなく、メール送信設定の問題の可能性があります。その場合は【WordPress】フォームのメールが届かない場合の解決方法(Contact Form 7)を参照してください。

よくある質問

Q. 受け入れ可能なファイル形式はどう指定しますか?

タグジェネレーターの「受け入れ可能なファイルの種類」欄に、拡張子を「|」(パイプ)で区切って入力します。例えばPDFとJPEGのみ受け取る場合は pdf|jpg|jpeg と入力します。指定しない場合のデフォルトは audio/*|video/*|image/*(音声・動画・画像全般)です。セキュリティ上、必要な形式のみに絞ることを強く推奨します。

Q. ファイルサイズの上限は何MBまで設定できますか?

Contact Form 7 側の設定値はサーバーのPHP設定(upload_max_filesize)の範囲内で自由に指定できます。ただしメールへの添付ファイルの合計サイズ上限は25MBです(公式ドキュメント記載)。実用的には5〜10MBを上限にする運用が多く見られます。

Q. 複数のファイルを同時に送信させることはできますか?

はい、タグに multiple 属性を追加するか、タグジェネレーターの「複数」チェックボックスにチェックを入れることで対応できます。また、ファイルフィールドを複数設置して異なる種類のファイルを別々に受け取ることも可能です。

Q. 添付ファイルがメールに届かない原因として何が考えられますか?

最も多い原因は「メールタブの『ファイル添付』欄への入力漏れ」です。次に多いのが「フォームのタグ名とメールタブの入力内容の不一致」です。また、ファイルサイズがサーバーのPHP設定上限を超えている場合もアップロード自体が失敗します。上述の確認ポイント表を順番にチェックしてください。

Q. スマートフォンからもファイルを添付して送信できますか?

はい、スマートフォンのブラウザからも写真ライブラリやファイルアプリのファイルを選択して送信できます。ただし、モバイル回線では大容量ファイルのアップロードに時間がかかる場合があります。ユーザーへの案内文としてサイズ上限を明記しておくと親切です。

Q. 送信されたファイルはサーバー上に保存されますか?

Contact Form 7では、アップロードされたファイルはメール送信後に wp-content/uploads/wpcf7_uploads 内の一時フォルダから自動削除されます。サーバー上にファイルを保持する場合は別途ストレージ連携プラグインが必要です。

💡 メール到達率も高めたいなら

Contact Form 7でメールを確実に届けるには、サーバー側のSPF・DKIM設定が整っていることも重要です。

ラッコサーバーでは、SPF/DKIM設定に対応した独自ドメインメール・SMTP情報の提供があり、メールの到達率を高める環境が整っています。WordPressの自動インストール・SSL設定も自動化されているため、サーバーから環境を整えたい方にも最適です。

月額330円(税込)〜で利用でき、30日間の無料お試し期間中に試すことも可能です。

まとめ

Contact Form 7 でファイル添付機能を追加する手順をまとめます。

  1. STEP1:フォーム編集画面の「ファイル」ボタンからタグを生成し、フォームに挿入する
  2. STEP2:メールタブの「ファイル添付」欄に、STEP1で設定したフィールド名を入力する

設定時の注意点は2つです。受け入れ可能なファイル形式(filetypes)を必ず指定してセキュリティを確保すること、そしてサーバーのPHP設定値(upload_max_filesize)がCF7で指定したサイズ上限以上になっているかを確認することです。

Contact Form 7のメール設定についてさらに詳しく知りたい方は、関連記事もあわせてご覧ください。