in reply to MIME::Lite

I didn't test it but I would think that the following should work provided that you have indeed declared all of the smtp variables.

$mail_method = 1; $mail_program = "/usr/sbin/sendmail -t"; # overriding default "/usr/l +ib/sendmail -t -oi -oem" $email_from = 'test@domain.com'; $email_to = 'neil@domain.com'; $email_subject = 'foo'; $email_text = 'bar'; $msg = MIME::Lite->new( From =>'$email_from', To =>'$email_to', Subject =>'$email_subject', Type =>'multipart/mixed', Data =>'$email_text' ); if ($mail_method == 1) { MIME::Lite->send('sendmail', $mail_program) or die "Sendmail failed" +; } elsif ($mail_method == 2) { MIME::Lite->send('smtp', $smtp_address, Timeout=>$smtp_timeout) or d +ie "SMTP send failed"; } else { warn "Unknown mail_method $mail_method! Trying default.\n"; MIME::Lite->send() or die "Default send method (Sendmail) failed"; }

added: -t option. Thanks Tomte!

Replies are listed 'Best First'.
Re: Re: MIME::Lite
by jasonk (Parson) on Apr 08, 2003 at 16:35 UTC

    This code won't work, as it doesn't actually send the message. To specify the method to send a message, you call send as a class method, but you still have to call it with the object to send as well, so in order to force it to send through sendmail, you would do this:

    MIME::Lite->send("sendmail", "sendmail -t -oi -oem"); $msg->send();

    You can also call it without specifying the sendmail command as MIME::Lite->send("sendmail"); $msg->send(); and MIME::Lite will use it's default arguments to sendmail, which should be good for most cases.


    We're not surrounded, we're in a target-rich environment!

      D'oh! I totally messed that one up.

Re: Re: MIME::Lite
by skirrow (Novice) on Apr 08, 2003 at 16:27 UTC
    Hi,
    Thanks for the reply, I tried your code but it is still not working. No email received, nor any errors!
    I have tried using both sendmail and SMTP and neither appear to work nor fail.
    Is their a way to supply a username and password for SMTP using Mime::Lite?
    Thanks, Neil