perl發郵件指令碼

2021-05-22 03:26:07 字數 2084 閱讀 5288

在外地出差也搞什麼郵件簽到,真無聊~

前一段看歐錦賽,時差還沒調整過來,早上起不來zzzzz

不過上有政策,下有對策嘛

就在伺服器上寫了乙個perl指令碼,用net::smtp發郵件,用crontab來定時跑,一下就解決了,哈哈

perl指令碼:

123

4567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

3233

3435

3637

3839

4041

4243

4445

4647

4849

5051

5253

5455

5657

5859

6061

6263

6465

6667

6869

7071

7273

7475

#!/usr/bin/perl

use 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

自動發郵件指令碼

在內網內連線伺服器經常需要知道伺服器的ip位址,那麼有沒有辦法在開機的時候自動發郵件告訴我們呢?答案是肯定的。系統 ubantu16.04 思路 利用系統初始化時啟動的指令碼執行乙個傳送郵件的python指令碼 查閱資料可以知道,ubantu16.04在啟動時,會執行乙個在 etc rc.local...

perl傳送郵件指令碼

usr bin perl usenet smtp usemime base64 自動簽到指令碼 host 10.182.131.153 smtp伺服器位址 host smtp伺服器 auth 郵件賬戶 password 郵件賬戶密碼 to 要傳送的目標 mail body 郵件內容 subsend ...

python 發郵件 python發郵件

python提供smtplib模組,該模組定義了乙個smtp客戶端會話物件,可用於使用smtp或esmtp偵聽器守護程式向任何網際網路機器傳送郵件。這是乙個簡單的語法,用來建立乙個smtp物件,稍後將演示如何用它來傳送電子郵件 import smtplib smtpobj smtplib.smtp ...