if(defined($email->{'attachments'}->{'count'})){ $msg = MIME::Lite->new( From => "$email->{'from'}", To => "$row->{$email->{'db'}->{'email_field'}}", Subject => "$subject", Type => 'multipart/mixed', ); if(defined($email->{'cvr_ltr_html'})){ # attach html cover letter $msg->attach( Type => 'text/html', Data => $copy_html, ); } else { # attach plain text cover letter $msg->attach( Type => 'TEXT', Data => "$copy", ); } } else { # print "We now produce a plain text email message.\n"; $msg = MIME::Lite->new( From => "$email->{'from'}", To => "$row->{$email->{'db'}->{'email_field'}}", Subject => "$subject", Data => $copy, ); } if(defined($email->{'attachments'}->{'count'})){ for my $i (1 .. $email->{'attachments'}->{'count'}){ # print STDERR $email->{'attachments'}->{$i}->{'Content-type'},"\n"; # print STDERR $email->{'attachments'}->{$i}->{'file-path'},"\n"; $msg->attach( Type => $email->{'attachments'}->{$i}->{'Content-type'}, Disposition => $email->{'attachments'}->{$i}->{'disposition'}, Path => $email->{'attachments'}->{$i}->{'file-path'}, Filename => $email->{'attachments'}->{$i}->{'filename'}, Encoding => 'base64', ); } } my $smtp = Net::SMTP->new($mailhost, Hello => $email->{'hello'}, Debug => 0 ) or return 0; my $data = $msg->body_as_string; my $header = $msg->header_as_string; $smtp->to($row->{$email->{'db'}->{'email_field'}}); $smtp->data(); $smtp->datasend("$header"); $smtp->datasend("\n\n"); $smtp->datasend("$data \n"); $smtp->dataend(); $smtp->quit;