how to enable access to a webform only from a link sent to user
You can do this by help of Deeplink module. Module page explains -


  Sometimes you want to be able to give simple URL access to content
  that would not normally be available to a particular user (or perhaps
  someone not even registered with the site).
  
  Deep link module allows the direct access to a specific item of
  content under certain circumstances and limitations. Such as one-off
  or time-limited deeplinks.