in reply to Mail::Sender trouble

Do you have an example of the code that is causing the problem? That is, can you recreate the problem with a small amount of code?

Look at the Writeup formatting tips node and let's see what you have either way.

C-.

Replies are listed 'Best First'.
Re: Re: Mail::Sender trouble
by Dalin (Sexton) on Jun 06, 2001 at 00:00 UTC
    Here is my code. Like I said, this is my first stabb at something usefull, actually my first time period. The print statement that is printing all of the variables before they are passed to the subroutine is there just so that I could see what was actually being passed on to the sub. The "address.mail" file is a flat, array type file with one entry per line. Here it is:
    #!/usr/gnu/bin/perl -w use Mail::Sender; $mail = "address.mail"; # flat file passed from another program if (-e $mail) { open (FILE,$mail); @mailf = <FILE>; close FILE; $addr = $mailf[0]; # assigning mail variables $subj = $mailf[1]; # in the order that they $from = $mailf[2]; # are in the file $body = $mailf[3]; $attach = $mailf[4]; print "$addr\n $subj\n $from\n $body\n $attach\n"; sender_mail($addr,$subj,$body,$attach); } } sub sender_mail { ref ($sender = new Mail::Sender ({ from => '$addr', smtp => 'my.mailhub.com'})) # have to + be carfull with the hostname. || die "Mail::Sender::Error, $!"; (ref ($sender->MailFile( {to =>"$addr", subject =>"$subj", msg =>"$body", file +=> "$attach"}))) }

    Edit: chipmunk 2001-06-05

      You should put <code> tags around it. Anyway, you're reading the file into @mailf, but each of the lines have newlines at the end. Including your filename. Instead, you may want to do this:

      open(FILE, $mail); @mailf = map { chomp; $_ } <FILE>; close(FILE); # now process $mail[n]

      update: fixed map. Actually you could just go:

      @mailf = <FILE>; chomp(@mailf);
        When I tried that I got 1's for the printing of the input strings. Should this be??? Also did not receive the mail. Sorry about the code thing... I'll get used to it I think. I have a feeling I'll be visiting here often. Dalin
        That worked! Thank you. But... don't you love the butt's??? The variables are being taken literally and I get "$addr@hostname.com". and the file names where there should be the files themselves instead. I am doing something wrong here??? (Well, obviously I am.) Thanks again. Dalin