# 「フォームを送信できません」エラー

> Formspree Docs · トラブルシューティング · 2024年8月28日

「Unable to submit form」というタイトルのエラー画面が表示されましたか？表示例は以下のとおりです：

![Screen\_Shot\_2020-07-12\_at\_10.38.00\_AM.png](/images/zendesk/d22c20769613623f.png)

このような画面が表示された場合、本記事で問題の解決方法をご案内します。

### 何が起きたのか？

このエラー画面が表示されている場合、以下の2つのことが起きています：

1.  リクエストに、フォームが送信されたウェブページのURLを含むHTTPの「referer」ヘッダーがありません。
2.  フォームの`action`属性に、メールアドレスを含むFormspree URLが設定されています。例：`https://formspree.io/email@domain.com`

フォームの`action` URLの識別にメールアドレスのみが使われている場合、Formspreeはフォームを識別するために「referer」ヘッダーに含まれる追加情報が必要です。このメールベースのURLはFormspreeとの連携の初期の方法でした。現在はURLにフォームIDを使用しているため、「referer」ヘッダーに依存しなくなっています。

### 推奨される解決策

フォームのオーナーとして、`https://formspree.io/email@domain.com`のような`action`属性を使用している場合は、以下の手順をお勧めします：

1.  [https://formspree.io/register](https://formspree.io/register)で無料アカウントを作成してください。
2.  新しいフォームを作成してください。一意のフォームIDを含む`action` URLが発行されます。
3.  以前のメールベースのURLの代わりに新しいURLを使用してください。

これにより、すべてのブラウザおよびウェブサイトのすべてのページでフォームが正常に動作するようになります。また、フォームのHTMLにメールアドレスを公開する必要がなくなり、セキュリティ上のリスクも解消されます。

既存の送信データを新しいフォームに移行したい場合は、サポートチームに[リクエストを送信](https://help.formspree.io/hc/en-us/requests/new)していただければ対応いたします。

### レガシーな解決方法

フォームのオーナーとして`action`属性を変更できない場合は、以下のトラブルシューティング手順をお試しください。ただし、上記の**推奨される解決策**のようにURLを変更しない限り、**一部のブラウザではフォームが動作しない可能性があります**（後述参照）。

1.  HTMLファイルをブラウザで直接開いてローカルでテストしている場合にこのエラーが発生することがあります。この場合、URLが`http://`や`https://`ではなく`file:///`で始まります。ブラウザはこのようなページを通常のウェブリソースとして扱わないため、「referer」ヘッダーが送信されません。フォームページをホストするためにローカルウェブサーバーを起動してみてください。MacまたはLinuxをお使いの場合は、ターミナルアプリケーションで以下のコマンドを実行してください：
    
    ```bash
    python -m SimpleHTTPServer 8000
    ```
    
    その後、ブラウザで[http://localhost:8000](http://localhost:8000/)にアクセスしてください。
    
    Windowsをお使いの場合は、以下のウェブサーバーのいずれかをインストールしてみてください：[Web server for Chrome](https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb)、[thttpd](http://www.acme.com/software/thttpd/)、または[Quickshare](http://houbysoft.com/program/QuickShare/)。
2.  フォームが`http://`プロトコルのURLに送信するように設定されているが、フォームが`https://`プロトコルでアクセスされるページにホストされている場合、「referer」ヘッダーが送信されません。`action` URLを更新する必要があります。この場合は上記の**推奨される解決策**をお勧めします。
3.  Braveブラウザをお使いの場合、Braveが「referer」ヘッダーをブロックすることがあります。この問題はBraveチームに[報告済み](https://community.brave.com/t/allow-link-or-meta-tags-to-enable-http-referer/48251)です。Braveチームへの注目を高めるために、ぜひアップボートにご協力ください。
