http://qs321.pair.com?node_id=1033060


in reply to Re: Can't get Net::SMTP to work
in thread Can't get Net::SMTP to work

Okay, so I stepped through the code, and apparently, as expected, it is failing at the:
if (!connect($sock, $addr)) {

statement from connect() subroutine in the IO::Socket.pm file. Well, if anything, after that call, which is a low level call that I can't step into, all the sudden $! is set to the "No connection could be made because the target machine actively refused it" error and the logic causes it to return with an error.

I mentioned before that I have turned off the Windows firewall, but this is a company issued laptop that has McAfee installed on it. It should only be doing virus scanning, but I can't help but think it is somehow causing the problem. What doesn't make sense though, is that I can 'telnet' to port 25 without a problem. So, unless there is some kind of rule that allows telnet to get to that port and not Perl, I don't understand how that can be the case.

I also have Cisco AnyConnect installed, and it implies it does firewalls, but I think only when the VPN is running, and I don't have it working when doing these tests.

Anyway, if anyone has any other ideas, I'd love to hear them.

Thanks!

Replies are listed 'Best First'.
Re^3: Can't get Net::SMTP to work
by Krambambuli (Curate) on May 13, 2013 at 15:41 UTC
    In the IO::Socket.pm that I can look into, the code is like

    sub connect { @_ == 2 or croak 'usage: $sock->connect(NAME)'; my $sock = shift; my $addr = shift; my $timeout = ${*$sock}{'io_socket_timeout'}; my $err; my $blocking; $blocking = $sock->blocking(0) if $timeout; if (!connect($sock, $addr)) {
    so the call to connect should still be traceable a bit by single-stepping...Might help to know if the issue is before or after getting a local socket to use. Not that I think that would help too much, but it still might get you a bit closer to a solution.

    Any chance to try the code on another machine ? Are you running this with the same privileges as when you do successfully telnet ? Maybe you can check if it behaves the same way when you run it as Administrator?