I considered this some years ago. Eventually I decided not to license it; I gave it away for free but I think my best idea was:
Send them a license file containing a key. Name the file with their full name and e-mail address or something equally personal and make sure renaming it will invalidate the key. This should be simple to achieve. There are many techniques you could use that would not require storing the key in your application.
Like any system, this is not uncrackable but as was explained to me many years ago, security is for keeping honest people honest.