http://www.perlmonks.org?node_id=651834


in reply to Sending Mail from Perl Script


Where do you want *them* to go today?

Replies are listed 'Best First'.
Re^2: Sending Mail from Perl Script
by Niner710 (Sexton) on Apr 30, 2008 at 04:41 UTC
    I submitted this awhile ago and haven't been able to get back to it now. I modified my script to be like this...
    use strict; use warnings; use MIME::Lite; my $user = 'james@gmail.com'; my $pass = 'james12'; my $msg = MIME::Lite->new( From =>'James', To =>'james@hotmail.com', CC =>'', Subject =>'yah it worked', Type =>'Hello world' ); MIME::Lite->send('smtp','smtp.gmail.com:465', AuthUser=>$user, AuthPass=>$pass);
    Yet, I still can't connect correctly. Everything compiles ok but the email doesn't get sent at all. Can anyone tell me why?

      Have you tried enabling Debug as I suggested? What were the resulting messages?

      This might be a natural next step in the troubleshooting process.


      Your wish is my commandline.
        Hi, Yes, I tried the Debug=>1 option and got an error "Can't call method auth on an undefined value". When I tried to do it your way, it seems like the program hangs with the authorization part. I'm not sure why that is. My username and password are all correct. I've tried the username without the "@gmail.com" but still gives the same error. I'm wondering if I need SSL or anything for gmail. Can't seem to get my yahoo email account to work either. Maybe thats why the authorization is failing??
        use MIME::Lite; use Net::SMTP; $FROM='james@gmail.com'; $TO='james@hotmail.com'; $subject='TESTING 123'; $SMTPUSER='james@gmail.com'; $SMTPPASS='james1234'; $message_text='testing'; my $msg = MIME::Lite->new(From => $FROM,To => $TO,Subject => $subject, +Type => 'multipart/alternative'); my $smtp = new Net::SMTP('smtp.gmail.com:465', Timeout => 15, Debug => + 1); $smtp->auth($SMTPUSER, $SMTPPASS); $smtp->mail($FROM); $smtp->to($TO); $smtp->data($msg->as_string); $smtp->quit;