そういうケースでよくやるのは「空メールを送信してメールアドレスを入力」ボタンを設置するとかですね。
- mailto:confirm-<uniqueid>@example.jp なリンク、もしくはQRコードを表示しておく
- ブラウザは http://example.jp/confirm/<uniqueid>.json のをAJAXでポーリングする(数秒毎に取得を繰り返す)
- confirm-<uniqueid>@example.jp 宛てのメールをサーバが受信したら上記jsonがメールアドレスを返すようにする。
- AJAXポーリングがメールアドレスを返したらそれをフォームにセットする。
もしくは同じ空メール方式でもAJAXポーリングじゃなく、空メールが来たら http://example.jp/toiawase/?mail=user@example.jp 等といったURLを書いたメールを自動返信して、ユーザがそのURLをクリックするとメアド欄が埋まった状態からフォーム入力が開始できるようになる。といったパターンもあります。
スマホなら前者のAJAXポーリングの方がカッコいいかもしれません。後者はjsが使えないガラケーとかでも対応出来ます。もしくは両方併用が親切だと思います。
あとはまだW3Cで策定中らしいですが、HTML5のAPIでJavascriptから端末のアドレス帳へアクセス出来るようなるらしいので、それが利用できるようになったら利用してみるとか。
とりあえず現状ではこんな感じですね。
少なくとも勝手にメアドを取得するようなことは色んな意味で出来ません。