You have to set $smtp to the name of your SMTP server (your mail relay). You have set it to "smtp_server_name" which, unless your SMTP server is actually called that, is unlikely to work.
CU Robartes-
Comment on Re: Mail::Sender problem - user unknown on host