in reply to Getting the latest IP after dial-up

How do I find out my hostname/domainname/IP address?

How do I send mail? Well, I would have linked to perlfaq9 again for that except that it mentions using Mail::Mailer (which I could not even find using ppm3) or Net::SMTP (which I have only had limited success with on Windows). So I'm going to use Mail::Sendmail. After you have installed it, you should edit Mail::Sendmail.pm and change the line to show your actual SMTP server:
    'smtp'    => [ qw( localhost ) ],

Combine everything together and what do we get?

#!/usr/bin/perl -w use strict; use Socket; use Sys::Hostname; use Mail::Sendmail; my $from = "foo\@bar.com"; my $to = "bar\@foo.com"; my $subject = "Latest IP address"; my $host = hostname(); my $addr = inet_ntoa(scalar gethostbyname($host || 'localhost')); my %mail = (To => $to, From => $from, Subject => $subject, Message => $addr ); sendmail(%mail) or die $Mail::Sendmail::error; print "OK.\n", $Mail::Sendmail::log;

Answer: A cross-platform solution!

Replies are listed 'Best First'.
Re: Re: Getting the latest IP after dial-up
by barrd (Canon) on Aug 25, 2002 at 17:10 UTC
    An interesting approach... I'd just finished refining my old code but now have something new to look at and play with, thank you very much Mr. Muskrat much appreciated!

      barrd, that is why am here! To help: myself by learning and others by sharing what I have learned.

      When I saw that you were using a *nix specific way of doing it, I knew that someone else would come along one day and ask how to do it on Windows. I could have written a Windows specific version without much effort but why? I didn't want to make it specific to any one OS.

        Mr. Muskrat, indeed I hadn't even given Windows a thought, one day hopefully I'll be proficient enough to help others. In the meantime I am learning a great deal from this site, as they say "theres more than one way to do things", a lesson I am learning daily ;)
        so sendmail isnt OS specific?