ICQ supports getting uin at pager.icq.com email and almost everyone will get it, as for yahoo and hotmail I agree it takes coding to a specific protocol with SSL and other stuff but in that case you could just email to the @yahoo or @hotmail email and the user would get a notice (this could be simple an alternative email address).