ユーザーへ仮パスワードを送る仕組み

今さらですが、sign-upの際に正しいメールが使われているかを
確認するために、ユーザーのメールアドレスに仮パスを送る場合
みなさまどの様に設定していますか?

実装したい機能
①sign-upフォームにメアドを入力させる
②メアドあてに仮パスを送信する(できる限りタイムラグなく)
③仮パスを使ってlog inさせる
④メアドが間違っていて仮パスが遅れなかったことを
ユーザーに知らせる

<質問・というか疑問>
②についてどう実装するか?
send gridでカスタムアクション作るのが一番レスポンス良く
仮パスを送れますでしょうか?

仮パスは、メアド登録時にランダム関数で作成し
それをsend gridのメール本文に転記して送信するイメージ

④ってできるの?
メアドそのものが間違ってる場合って検知できましたっけ?
eメールバリデーターもざっくりとしたチェックだし

「仮パスメールが送られなかったら、メアドが間違ってると思うから登録しなおしてね」と、ユーザーに啓蒙するしかない???

基本的に④を実装したい場合には、Activeのステータスが必要で、どこかのタイミングで、Activeではない人に、お知らせを入れる必要がありますね。ただ、そもそもの登録するメールアドレスが違っている場合には、連絡する手段は無いと思います。

基本は、②を実装したいのだと思うので、SendGridなんかで、メールアドレス宛に"Verification code" として、UserがActiveになる。ためのコードを送ってあげるのが良いのでは―と思います。

【参考】

Send verification email to new sign ups