無効なreplyTo/emailエラーが発生している
Updated April 11, 2024
「Invalid replyTo/email address」というエラーメッセージが表示された場合、フォームに複数のemail入力フィールドが含まれていることが原因として考えられます。このエラーを解決するには、name属性がemailの入力フィールドが1つだけになっているか確認してください。
例えば、フォームに以下のような入力フィールドがあったとします:
<input type="text" name="email" id="email">
そして、後に以下のような別の入力フィールドが追加されていた場合:
<input type="text" name="email" id="phone">
上記の2つの入力フィールドはどちらもname="email"属性を持っていますが、2番目のフィールドは電話番号を収集するためのものです。これが問題の原因です。
このフォームから送信を受け取ると、以下の処理が行われます:
- 同じ名前を持つ2つの入力フィールドがある場合、それらをカンマ区切りの値として結合します。そのため、「my@email.com」をemailフィールドに、「222-2222」をphoneフィールドに入力して送信すると、
emailの値がmy@email.com,222-2222という1つの値に変換されます。 name="email"を持つ入力フィールドは特別な扱いを受けます。このemailの値は、Formspreeがお客様に送信する送信通知メールの「返信先」アドレスとして使用されます(メールの「返信先」アドレスを参照)。ただし、この場合のメールアドレスは無効です(カンマ区切りのリストであり、メールアドレスではないため)。これがエラーが表示される理由です。
解決策は、収集するデータに適したname属性を使用することです。上記の例では、2番目の入力フィールドを以下のように変更します:
<input type="text" name="phone" id="phone">
これでフォームが正常に機能するようになります。