Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 440
  • Last Modified:

how to use IO::Socket

Maneshr...to answer your question.

Yes, I do know the smtp and pop3 server names to test out the IO::Socket module.  I will also be running my own mail server from IIS in Win2k server in the near future.

Is it safe to be opening up new sockets on the fly?  Maybe that was a dumb question.
0
GorGor1
Asked:
GorGor1
  • 3
  • 2
1 Solution
 
maneshrCommented:
GorGor1,

".. I will also be running  my own mail server from IIS in Win2k server in the near future...."

Excellent!!

Try this script that i have been using for a long time now.

It works just fine for me.

Let me know how it works on your server.

===gorgor.pl
$|++;

&sendMail('mail.server.com','from_your_email_id@server.com','recipeient@server.com','Testing',"Testing 1-2-3\nRgds,\n");

sub sendMail {
     my ($host, $from, $to, $subject, $message) = @_;

     require IO::Socket;
     my $remote = IO::Socket::INET->new(
     Proto    => "tcp",
     PeerAddr => $host,
     PeerPort => "smtp(25)",
     ) || die $!;
     my $debug = <$remote>;
     print $remote "MAIL FROM: $from\n";
     $debug .= <$remote>;
     print $remote "RCPT TO: $to\n";
     $debug .= <$remote>;
     print $remote "DATA\n";
     $debug .= <$remote>;
     print $remote "From: $from\nTo: $to\nSubject: $subject\n\n";
     print $remote "$message\n";
     print $remote ".\n";
     $debug .= <$remote>;
     close $remote;
     return $debug;
 }
0
 
GorGor1Author Commented:
BLAM!  It worked like a freakin charm!  Is there an easy way to format the message of the e-mail or do I pretty much have to use the '\n' and '\t' stuff for formatting?

Also, is it capable of attachments?

And finally, does it close the PeerPort after it's finished?

Thanks!
0
 
maneshrCommented:
GorGor1,

"..BLAM!  It worked like a freakin charm! .."

Super!!! I would have been surprised with anything less that that :-)

"..Is there an easy way to format the message of the e-mail or  do I pretty much have to use the '\n' and '\t' stuff for formatting?..."

Yes. There is an easy way to format it.

You can use the following approach...

$message=qq{
Here is the first line

Here is the 2nd line?

Thanks!!!

Rgds,

GorGor1
};

&sendMail('mail.server.com','from_your_email_id@server.com','recipeient@server.com','Testing',$message);

"..Also, is it capable of attachments?.."

Right off the bat, my answer would be yes. However, i have not yet extended this script to do that. Therefore, i cannot post any sample code here :-(

"..And finally, does it close the PeerPort after it's finished?.."
Yes. The Socket port is closed with the following statement.

close $remote;

Hope that helps.
0
 
GorGor1Author Commented:
U da man!  Once again, you've saved me a ton of headache.  I'll post again someday when I need to do an attachment and I'll see if you've come up with anything yet.  Thanks again!
0
 
maneshrCommented:
GorGor1,

"..U da man!  Once again, you've saved me a ton of headache..."

Thank you!!!

Glad to know i could be of help to you.

"..  I'll post again someday when I need to do  an attachment and I'll see if you've come up with anything yet. .."

Hopefully by then i should have the attachement piece added, tested and working fine.

Till then........................
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now