linux 收发邮件步骤详解

1.安装软件yum install mailx -yyum install sendmail -y

2.启动服务sendmailsystemctl start sendmail

3.更改配置vim /etc/mail.rc 

at命令详解 

        实例:

crontab命令详解 

实例:


linux 收发邮件步骤详解

1.安装软件
yum install mailx -y
yum install sendmail -y
2.启动服务sendmail
systemctl start sendmail
3.更改配置vim /etc/mail.rc  添加以下代码
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
set smtp=smtps://smtp.163.com:465                          
set smtp-auth=login
set smtp-auth-user=yifeng2805203517@163.com  //发件人
set smtp-auth-password=这里是163邮箱的授权码

set from=yifeng2805203517@163.com   //这是收件人 

解释上面7行代码含义

#开启ssl
#set ssl-verify=ignore
#下方输入证书目录,下方为centos系统证书默认位置,也自行生成证书并指定
#set nss-config-dir=/etc/pki/nssdb

# 下方填入你配置的第三方smtp服务器的地址及端口,如果使用的是云服务器,安全组需要开放465端口(入口和出口)
#set smtp=smtps://smtp.163.com:465                          
# 认证方式
#set smtp-auth=login
# 下方输入用于发送邮件的邮箱账号
#set smtp-auth-user=
# 下方输入上方邮箱的客户端授权码
#set smtp-auth-password=
# 设置发信人邮箱和昵称
#set from=

4.发送代码

echo “这里是发送的内容”" | mail -s "标题"   收件人邮箱

 //注意配置以上七行代码后,不能进行自己linux的用户发送,必须进行网络邮件发送

at命令详解 

命令格式:at [参数] [时间]

参数

说明

-m

当任务完成之后,即使没有标准输出,将给用户发送邮件

-l

atq的别名,可列出目前系统上面的所有该用户的at调度

-d

atrm的别名,可以取消一个在at调度中的工作

-v

使用较明显的时间格式,列出at调度中的任务列表

-c

可以列出后面接的该项工作的实际命令内容

-f

从文件中读取作业

[root@localhost /]# at now +1 minute
warning: commands will be executed using /bin/sh
at> echo "123456789">/dir_fanshun/fanshun1/mth    
at> <EOT>
job 4 at Sat Dec 31 16:01:00 2022
[root@localhost /]# head /dir_cront/mth 
123456789

crontab命令详解 

语法
crontab(选项)(参数)
选项
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。

centos7 接受邮件 linux接收邮件_服务器


实例:

第一个字段:分钟:0-59  
第二个字段:   小时:0-23
第三个字段:   月中天:1-31
第四个字段:   月份:  1-12
第五个字段:   星期:0-7 -> 0和7代表:星期天
第六个字段:执行一个命令(任务)


* -> 0-59
* -> 0-23      -> */2

分钟   小时    月中天   月份   周                        任务
0        8        *            *       1,2,3,4,5/1-5          闹钟

30 21 * * * /usr/local/etc/rc.d/lighttpd restart       #每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart  #每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart      #每周六、周日的1 : 10重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart  #每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart        #每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart       #每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart    #晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart  #每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart       #一月一号的4点重启apache
*/30 * * * * /usr/sbin/ntpdate 210.72.145.44           #每半小时同步一下时间
 

 练习:
at和crontab的使用
cron的使用:每月1、10、22日的4 : 45pm 执行重启 httpd的任务:systemctl resetart httpd

代码如下:

[root@localhost at]# crontab -e
crontab: installing new crontab
[root@localhost at]# crontab -l
44 4 1,10,22 * *  systemctl resetart httpd

 at的使用 在2023年的3月21日下午4点 执行将date命令的输出写入到文件/root/date.txt

代码如下:

[root@localhost at]# at 4:00 2023-3-21 
warning: commands will be executed using /bin/sh
at> date > /root/date.txt
at> <EOT>
job 6 at Tue Mar 21 04:00:00 2023