Hmmmm....
Thanks for all the responses. So after looking at the link to the Mime with SSL I think that should work(?). I guess the line that indicates the attachment is:
TmplOptions => \%options,
So, out of curiosity, why isn't there a package that does this? I don't think what I am doing is so obscure (writing an email with an Excel spreadsheet attached).
In any case, if you guys think it should work, I will figure it out with trial and error to I get it.
Thanks,
Ryan
| [reply] |
why isn't there a package that does this? From my perspective, SSL mail is relatively recent, and still is not default in most mail setups. Also, I just handed you the link, containing the script. All you need to do, is change the
MIME::Lite::TT::HTML; object to a simple MIME::Lite object..... it is not that complicated. Thats probably why there is no package for it.... the code is available for you to use as a simple script. I don't mean to offend, but this is a site for perl programming...... it's not the Tech Support dungeon in the basement of your corporation. So, if you can't figure out enough to swap the MIME objects, then hire a programmer. Google for "perl MIME::Lite attachment"
and see all the code that has been written for free, for you to learn from.
| [reply] |
Here is a simple script. It works with my local ISP, but GMAIL smtp seems to reject it, and that is not Perl's fault. Update: It seems if you send a test.doc , instead of .zip, GMAIL's smtp will accept it. Apparently to avoid viruses for windows users, they block .zip and .exe attachments. ???
#!/usr/bin/perl
use warnings;
use strict;
use Net::SMTP::SSL;
use MIME::Lite;
my $user = 'zentara@woohoo.org';
my $pass = 'whatdoyouguess';
#$server = 'your-smtp-server';
my $server = 'smtp.woohoo.com';
my $to = 'user@some.net';
my $from_name = 'zentara';
my $from_email = 'zentara@woohoo.org';
my $subject = 'smtp-ssl-auth test attach';
my $msg = MIME::Lite->new(
From => $from_email,
To => $to,
Subject =>'test message',
Type =>'TEXT',
Data =>'This is a test, i repeat only a test',
);
$msg->attach(Type =>'application/octet-stream',
Encoding =>'base64',
Path =>'./test.zip', #full path
);
# Type => 'application/msexcel',
# Path => $report,
# Filename => 'college_orders.xls',
# Encoding => 'base64'
my $smtps = Net::SMTP::SSL->new($server,
Port => 465,
DEBUG => 1,
) or warn "$!\n";
# this works in early 2010
defined ($smtps->auth($user, $pass))
or die "Can't authenticate: $!\n";
$smtps->mail($from_email);
$smtps->to( $to );
$smtps->data();
$smtps->datasend( $msg->as_string() );
$smtps->dataend();
$smtps->quit();
print "done\n";
| [reply] [d/l] |