Hi Wise Monks!

I am trying to use Net::SMTP to send e-mail from a CGI script in a hosting environment (not my own server). The server (which I have control) requires authentication (naturally), and I already tested that I can use Net::SMTP from other machine (not that hosting) to connect and send e-mail through that server.

However, when I uploaded my script to the hosting environment, the connecting effort dies with the error "Unknown callback: 'authname'. (user|auth|language|pass)".

This can be incompatible module, and I can install my own module, but first I need to find out which module to install. I already installed the newest libnet (1.22) and Authen::SASL (2.11), but they did not help.

The perl version is a bit old - 5.008004 - not sure if this have any effect. BTW I don't have any power to update that.

Any idea what causing this the error? Any suggestion?

Below is the part of the code doing the connect and authentication:

if($debug) { print STDERR "going to connect to $ssph->{host}\n"; } my $smtp= Net::SMTP->new (Host=> $ssph->{host}, ($ssph->{port} ? (Port=> $ssph->{port}) : ()), ($debug ? (Debug=> 1) : ()) ) || die "open SMTP $ssph->{host}: ".$!; if($debug) { print STDERR "connected to $ssph->{host}, going to auth\ +n"; } if($ssph->{user} and $ssph->{pass}) { $smtp->auth($ssph->{user}, $ssph->{pass}) || die "at auth: ".$smtp-> +message(); } if($debug) { print STDERR "auth to $ssph->{host} successful\n"; }

This is the output:

going to connect to rinjani.parokinet.org Net::SMTP>>> Net::SMTP(2.31) Net::SMTP>>> Net::Cmd(2.29) Net::SMTP>>> Exporter(5.58) Net::SMTP>>> IO::Socket::INET(1.27) Net::SMTP>>> IO::Socket(1.28) Net::SMTP>>> IO::Handle(1.24) Net::SMTP=GLOB(0x88bdfc8)<<< 220 rinjani.parokinet.org ESMTP Postfix Net::SMTP=GLOB(0x88bdfc8)>>> EHLO localhost.localdomain Net::SMTP=GLOB(0x88bdfc8)<<< 250-rinjani.parokinet.org Net::SMTP=GLOB(0x88bdfc8)<<< 250-PIPELINING Net::SMTP=GLOB(0x88bdfc8)<<< 250-SIZE 10240000 Net::SMTP=GLOB(0x88bdfc8)<<< 250-VRFY Net::SMTP=GLOB(0x88bdfc8)<<< 250-ETRN Net::SMTP=GLOB(0x88bdfc8)<<< 250-AUTH PLAIN LOGIN Net::SMTP=GLOB(0x88bdfc8)<<< 250-AUTH=PLAIN LOGIN Net::SMTP=GLOB(0x88bdfc8)<<< 250 8BITMIME connected to rinjani.parokinet.org, going to auth

(then it died with "Unknown callback: 'authname'. (user|auth|language|pass)")

Thanks!

-- 
S P Arif Sahari Wibowo
http://www.arifsaha.com/

In reply to Net::SMTP ==> Unknown callback by arifsaha

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.