web-dev-qa-db-ja.com

GitHubページでホストされている静的ページからメールを送信する

GitHub Pagesを使用して、単一の静的HTMLページをホストしました。ユーザーが自分の名前、メール、コメントを入力して[送信]ボタンをクリックできる静的ページに「フィードバックを送信」機能を追加する必要があります。これにより、内容を記載したメールが私のメールアドレスに送信されます。これは何とかGitHubの静的なHTMLページで機能しますか? GitHub Pagesはこのメール機能をサポートしていますか?

また、使用しているWebサーバーに基づいてGitHub Pagesサーバーがサポートできる機能/プラグインなどを知りたいですか?

48
A9S6

これは、GitHubページでネイティブに行うことはできません。 somekindofフォーム送信ツール を使用する必要があります。

GitHubの pages documentation は、ホスティングでできることとできないこと、およびそれがサポートするプラグインについて説明しています。

30
Moshe Katz

はい、formspeeを使用してこの方法で行うことができます。

Formspree

http://formspree.io/

HTMLフォームフォームをURLに送信するだけで、メールに転送されます。 PHP、Javascript、サインアップは必要ありません。静的サイトに最適です。テキストエディタを開き、次のコードを貼り付けるだけです。

<form action="http://formspree.io/[email protected]"><input type="email" name="_replyto"><textarea   name="body"></textarea><input type="submit" value="Send"></form>

それだけです、あなたのフォームはすでに機能しています!フォームを外部ドメインformspree.ioに投稿し、すべてのフォームコンテンツを記載したメールを送信します。データベースなし。また、メールボックスで返信するだけで、訪問者との会話を続けることができます。

このツールは、Braceのメンバーによって構築され、その後、Assemblyによってオープンソース化されてホストされました。

設定は簡単で無料です。方法は次のとおりです。

登録する必要さえありません。

  1. HTMLフォームをセットアップする

フォームのアクション属性をこれに変更し、your @ email.comを独自のメールに置き換えます。

http://formspree.io/[email protected]

  1. フォームを送信して、メールアドレスを確認してください

ウェブサイトにアクセスして、フォームを1回送信してください。これにより、メールアドレスの確認を求めるメールが送信され、だれもランダムなウェブサイトからスパムの送信を開始できなくなります。

  1. すべて設定、メール受信

今後、誰かがそのフォームを送信すると、データをメールで転送します。

68
Parvez Hassan

Githubページはphpおよびこれに必要な他のバックエンドのもののいくつかをサポートしていません。簡単なアプローチは、HTMLフォームに対応するGoogleフォームを作成し、それに送信するアクションを使用することです。リダイレクトなしで実行するのは少し難しいですが、実行できます。

ここに私がそれをした方法があります: https://github.com/toperkin/staticFormEmails/blob/master/README.md

18
user3835730

GitHub Pagesは、静的なWebサイトホスティングであるため、このようなものを提供/サポートしません。 HTMLファイルとアセットを提供しますが、サーバー側のスクリプトは実行しません。

数ヶ月前、私は同じ問題にぶつかり、いくつかの調査を行いました。他の人が述べたように、このタスクには外部フォームハンドラサービスが必要です。幸いなことに、それらのトンがあります:

私は彼らのウェブサイトに基づいて彼らの機能と制限を比較し、選んだ、試してみましたBasinそして最後に私はそれで立ち往生しました。スパムフィルター、キャプチャ確認、Zapier統合を提供します。フォーム内のメールアドレスを非表示にし、フォームを送信した人にメールの領収書を送信できます-これらはすべて無料です。私のコンタクトフォームの背後にある(GitHub Pagesでホストされている)私のWebサイトの魅力のように機能します。

EDIT:最初にこの回答を書いたときに無制限の送信を提供していましたが、無制限の送信とリダイレクトURLには有料のサブスクリプションが必要になりました。

設定は非常に簡単で、管理インターフェイスにはHTMLスニペットが表示され、コピーして貼り付けることができます。フォームは次のようになります。

<form accept-charset="UTF-8" action="https://usebasin.com/f/123456xabcdef" enctype="multipart/form-data" method="POST">
  <input type="email" id="email" name="email" required>
  <textarea rows="4" cols="50" name="comment" required></textarea>
  <button type="submit">Submit</button>
</form>

少し前に、詳細を記載したBasinのテストについて ブログ投稿 を書きました。

8
juzraai

はい、できます。Webには、JavaScriptの行をいくつか使用して静的HTMLからメールを送信できるアプリがたくさんあります。それらのいくつかは、mandrillapp、sendgrid、とりわけ、そしてそれらの最高の、それらはすべて無料です!

3

私は https://www.formbackend.com をこれらのようなもののために構築しました。必要なのは、ウェブサイト上でフォームバックエンドを作成し、actionとして一意のURLを<form action="[FORMBACKEND_UNIQUE_URL]">

フォームに追加したフィールドはバックエンドに送信され、そこでオンラインで表示するか、誰かがフォームを送信するたびにメールを受け取るように設定できます。 :)

0
Jesper

いいえ、構築する静的サイトではサポートされていません。しかし、これを行うのに役立つサービスが山ほどあります。今のところ、必要なのはstatic formあなたのウェブサイトでは、しかし時間が経つにつれて、あなたは次のようなことをしたいと思うでしょう:

  • サイトでユーザーがしていること
  • それらに電子メールを送ります
  • エンゲージメントを増やし、さらに多くのことができます。

私はツール Formester.com を試しています。これは、これらすべてを手頃な価格で行うのに役立ちます。

0
aks