Linux下如何使用Perl来发信邮件
最近小编在网上查询到关于Linux下如何使用Perl来发信邮件的内容,想必这是很多用户们都好奇的吧,接下来我们就一起去看看具体内容吧。
1、登录系统
2、查询是否有安装perl
[root@CentOS ~]# rpm -qa | grep perl
perl-5.8.5-36.RHEL4
3、OK,来检查一下网络
[root@CentOS ~]# ping act0r.bokee.com
PING act0r.bokee.com (58.49.57.34) 56(84) bytes of data.
64 bytes from 58.49.57.34: icmp_seq=0 ttl=54 time=128 ms
4、安装发邮件所需要的模块
[root@CentOS ~]# perl -MCPAN -e shell
基本上是一路回车,只有到最后面时,会让你选择你所在的区域,及国家。
cpan>install Authen::SASL
cpan>q
5、vi /etc/init.d/sendmail.sh
#!/usr/bin/perl
use Net::SMTP;
my $mailhost = "smtp.163.com"; # SMTP服务器
my $mailfrom = 'notfour@163.com'; # 你的EMAIL地址
my @mailto = ('fayland@gmail.com', 'not_four@hotmail.com'); # 收信人地址
my $subject = "此为标题";
my $text = "此为正文\n第二行位于此。";
$smtp = Net::SMTP->new($mailhost, Hello => 'localhost', Timeout => 120, Debug => 1); #为0时,不输出调试信息
# anth login, type your user name and password here
$smtp->auth('user','pass'); ###用户名和密码
foreach my $mailto (@mailto) {
# Send the From and Recipient for the mail servers that require it
$smtp->mail($mailfrom);
$smtp->to($mailto);
# Start the mail
$smtp->data();
# Send the header
$smtp->datasend("To: $mailto\n");
$smtp->datasend("From: $mailfrom\n");
$smtp->datasend("Subject: $subject\n");
$smtp->datasend("\n");
# Send the message
$smtp->datasend("$text\n\n");
# Send the termination string
$smtp->dataend();
}
$smtp->quit;
6、给sendmail执行权限
[root@CentOS ~]# chmod 755 /etc/init.d/sendmail.sh
7、测试
[root@CentOS ~]# /etc/init.d/sendmail.sh
8、嘿嘿,看看信发送了没有。
看完本文后你知道Linux下如何使用Perl来发信邮件了吗?希望对大家有所帮助,欲了解更多资讯请登录爱站技术频道网站了解。