メールフィールドが1つだけの登録フォームがあります。ユーザーがメールアドレスを入力したら、登録リンクを送信する必要があります。
サインアップフォームを使用したこのNode.jsの例を見てきました。ただし、sendWelcome機能のみがあります。
登録メールを送信するNode.jsアプリの例はありますか?
メールフィールドが1つだけの登録フォームがあります。ユーザーがメールアドレスを入力したら、登録リンクを送信する必要があります。
サインアップフォームを使用したこのNode.jsの例を見てきました。ただし、sendWelcome機能のみがあります。
登録メールを送信するNode.jsアプリの例はありますか?
私はこれまでそのような例を見たことがありませんが、あなたの二次的な質問は何ですか?あなたが提供した例は、電子メールを送信する方法をかなりよく示しています。別のオプションは、このパッケージを使用することです。
これは、電子メールの送信方法についても十分に文書化されているようです。
したがって、サインアップシステムのセットアップ方法を知りたいと思います。e-mail
これを行う1つの方法は、token
列を持つユーザーを登録するためのテーブルを用意することです。E-mail
明らかなのtoken
は、ランダムに生成された文字列(たとえば、ノードのcrypto.randomBytes
メソッドを使用)であり、リンクの一部としてユーザーに送信されます。リンクを入力したら、データベースでこのトークンを検索し、見つかった場合は登録を続行します。
注意すべき2つのこと:トークンを作成するときは、トークンがデータベースにまだ存在していないことを確認してください。2番目:valid_until
列を使用して数時間より古いトークンを削除することをお勧めします。
アップデート:
残念ながら、ノードのbase64エクスポートはURLセーフではありません。したがって、これは私が見つけた安全なトークンを取得するための最も簡単な方法です。
require('crypto').randomBytes(48, function(ex, buf) {
token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-');
});