用perl收发邮件

xiaoxiao2022-06-12  36

现在已经没有多少人在命令行之下收发邮件了, 但是对于系统管理员来说, 命令行却又是极其方便, 例如我们公司目前使用的短信报警系统就是用perl来发送邮件给手机邮箱, 现在简单介绍一下邮件的收发.

1. 发邮件大部分的服务商提供的SMTP服务, 都是要认证的, 这个时候需要一个叫Net::SMTP_auth的模块. 简单的程序如下, 注意最后的一个'点'哦..

 

#!/usr/bin/perl use Net::SMTP_auth ; my $smtp = Net::SMTP_auth -> new ( ' smtp.ex.com ' , Helo => ' ex.com ' , Debug => 1 ) ; my $status = $smtp -> auth ( ' LOGIN ' , ' user ' , ' pass ' ) ; $smtp -> mail ( ' 发件人地址 ' ) ; $smtp -> to ( ' 收件人地址 ' ) ; $smtp -> data () ; $smtp -> datasend ( " 邮件内容 " ) ; $smtp -> datasend ( " . " ) $smtp -> dataend () ;

2. 收邮件

收邮件也很简单, 需要个叫Net::POP3的模块, 简单程序如下

#!/usr/bin/perl use Net::POP3 ; my $pop = Net::POP3 -> new ( ' pop.ex.com ' , Timeout => 120 ) if ( $pop -> login ( ' user ' , ' pass ' ) > 0 ) {          my $msgnums = $pop -> list ;         foreach my $msgnum ( keys % $msgnums ) {                  my $msg = $pop -> get ( $msgnum ) ;                 ##$msg返回的是一个引用....                  #......处理你的信件...                  $pop -> delete ( $msgnum ) ; #删除它          } }
转载请注明原文地址: https://www.6miu.com/read-4933371.html

最新回复(0)