use strict; use warnings; use Mail::Header; use LWP::UserAgent; use HTTP::Request; use Mail::Internet; use URI::Encode; my $internet = Mail::Internet->new(\*STDIN); my $header_object = $internet->head; my $to = $header_object->get('To'); my $username = substr($header_object->get('To'), 0, index($header_object->get('To'), '@')); my $from = $header_object->get('From'); my $subject = $header_object->get('Subject'); $internet->tidy_body; my $linebody = $internet->body; my $body = join("", @$linebody); my $uri = URI::Encode->new( { encode_reserved => 1 } ); $subject = $uri->encode($subject); $username = $uri->encode($username); $body = $uri->encode($body); my $ua = new LWP::UserAgent; $ua->timeout(120); { my $url="http://example.com:14013/cgi-bin/sendsms?username=user&password=pass&to=$username&from=mail2sms&text=$subject%0A$body"; my $request = new HTTP::Request('GET', $url); my $response = $ua->request($request); my $content = $response->content(); }