下面的perl脚本适用于我的本地linux机器,但是当我尝试通过cron作业在我的网络托管服务(Stablehost)上运行它时,我从未收到电子邮件。 Stablehost确实在每次运行时发送了cron控制台输出,所以我确实看到了“结束了!”行,并没有报告错误。
我不知道如何诊断这个,所以任何帮助都会受到赞赏!
#!/usr/bin/perl
use strict;
use MIME::Lite;
use Net::SMTP::SSL;
my $msg = MIME::Lite->new(
From => 'fakeaddress@yahoo.com',
To => 'fakeaddress2@yahoo.com',
Subject => 'My Subject',
Type => 'multipart/mixed',
);
$msg->attach(
Type => 'TEXT',
Data => 'My body',
);
my $smtps = Net::SMTP::SSL->new('smtp.mail.yahoo.com',
Port => 465,
DEBUG => 1,
) or warn "$!\n";
defined ($smtps->auth('fakeaddress@yahoo.com', 'fakepass'))
or die "Can't authenticate: $!\n";
$smtps->mail('fakeaddress@yahoo.com');
$smtps->to('fakeaddress2@yahoo.com');
$smtps->data();
$smtps->datasend( $msg->as_string() );
$smtps->dataend();
$smtps->quit();
print "got to end!";