在外地出差也搞什麼郵件簽到,真無聊~
前一段看歐錦賽,時差還沒調整過來,早上起不來zzzzz
不過上有政策,下有對策嘛
就在伺服器上寫了乙個perl指令碼,用net::smtp發郵件,用crontab來定時跑,一下就解決了,哈哈
perl指令碼:
#!/usr/bin/perluse net::
smtp
;use mime::
base64
;################
# 自動簽到指令碼 #
################
$host
='10.182.131.153'
;#smtp伺服器位址
###########################
## $host: smtp伺服器
# $auth: 郵件賬戶
# $password: 郵件賬戶密碼
# $to: 要傳送的目標
# $mail_body: 郵件內容
############################
sub send_mail
#獲取命令列引數if(
@argv
<1)
else
#開啟配置檔案和日誌檔案
open conf_file,
$conf_file
ordie
"open config file [$conf_file] failed! \n"
;open log_file,
'>>send.log'
ordie
"open send.log failed! $!\n"
;while()
@line
=split
/\s+/,$_
;if(@line!=4
)#傳送郵件
send_mail(
$host
,$line[0
],$line[1
],$line[2
],$line[3
]);print log_file "["
.localtime()
."] send_mail($host, $line[0], $line[1], $line[2], $line[3]); \n";}
close conf_file;
close log_file;
自動發信的賬戶和目標都配在配置檔案裡,配置檔案格式如下mails.conf:
#[email protected] 000000 [email protected] 簽到
然後就是在 crontab 裡配自動執行是時間了:
#分 時 日 月 星期 命令418**1-5/usr/bin/
perl
/home/aig/.run/checkin.pl /home/aig/.run/mails.conf
5813**
1-5/usr/bin/
perl
/home/aig/.run/checkin.pl /home/aig/.run/mails.conf
Perl傳送郵件
本文簡單的介紹一下使用perl傳送郵件的方法,我們以使用163的smtp伺服器來傳送郵件為例,因為需要使用者驗證,所以前提是我們有163的郵件賬戶。如果 中使用到的perl模組你沒有安裝,那麼執行的時候就會報錯,關於perl模組的安裝方法,參照這裡。usr bin perl w use strict...
perl傳送郵件指令碼
usr bin perl usenet smtp usemime base64 自動簽到指令碼 host 10.182.131.153 smtp伺服器位址 host smtp伺服器 auth 郵件賬戶 password 郵件賬戶密碼 to 要傳送的目標 mail body 郵件內容 subsend ...
用Perl傳送郵件小例子
據傳,perl傳送郵件有很多方案,但我只會用mail sender這種方式,也就只能簡單談談這種方式。在參考眾多網頁後,程式書寫如下 usr bin perl w use mail sender my sender mail sender new or die can t send mail.n m...