据传,Perl发送邮件有很多方案,但我只会用Mail::Sender这种方式,也就只能简单谈谈这种方式。
在参考众多网页后,程序书写如下:
#!/usr/bin/perl -w use Mail::Sender; my $sender=Mail::Sender->new({ ctype=>'text/plain;charset=utf-8', encoding=>'utf-8', smtp =>'smtp.163.com', from =>'budefiang345@163.com', auth =>'LOGIN', authid =>'budefiang345@163.com', authpwd =>'mypassword'} ) or die "Can't send mail. "; my $msg='Hello,this is a mail built by perl'; $sender->MailMsg({ to=>'othermail@163.com', subject=>'Perl mail sample', msg=>$msg} ); $sender->Close(); print "Mail sent! ";
但是,程序写好后,执行#perl mail.pl,坏了,报出如下类似错误:
Can't locate Mail/Sender.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at mail.pl line 5.
BEGIN failed--compilation aborted at mail.pl line 5.
网上一查,原来是要安装perl的Mail模块,自己摸索了步骤如下:
#yum install perl-CPAN*
#cpan
cpan[1]>install Mail::Sender
cpan[2]>quit
之后Mail模块就安装好了,再执行#perl mail.pl,发现邮件已经送到指定邮箱了。
就是这些,虽然途中有点着急上火,但结果还是达成期望了。
2017年1月20日17:12:37