shell脚本发邮件


崧峻
原创
发布时间: 2025-06-21 14:29:36 | 阅读数 0收藏数 0评论数 0
封面
Shell脚本发送邮件给指定的收件人。这种脚本可以帮助自动化任务,比如定期报告、系统通知等。它的工作原理包括设置发件人、收件人地址、主题以及邮件正文内容
1

qq邮箱获取授权码

如图1所示登陆qq邮箱,点击上方设置,点击账号,向下滑动,找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 点击开启授权码

2

网易邮箱获取授权码

  1. 登陆到网易邮箱中,点击上方设置,选择POP3/SMTP/IMAP,如图1所示
  2. 开启POP3/SMTP服务或IMAP/SMTP服务协议
  3. 下面根据提示新增授权码即可
3

下载mailx服务

输入命令 yum -y install mailx 下载mailx服务

4

修改配置文件

输入命令 vim /etc/mail.rc


然后把


set from= #你的QQ邮箱或者网易邮箱其他邮箱
set smtp=smtp.qq.com #QQ邮箱就写这个,网易邮箱写smtp.163.com
set smtp-auth-user= #发件人,可以自己发给自己
set smtp-auth-password= #邮箱授权码
set smtp-auth=login
set ssl-verify=ignore


将这些内容添加在行尾


5

编写脚本

输入命令 vim emailSend.sh



然后编写脚本


#!/bin/bash
recipient="recipient@example.com"
subject="Test Email"
message="Hello, this is a test email sent from a Linux script."
# 使用 mail 命令发送邮件
echo "$message" | mail -s "$subject" "$recipient"
# 检查邮件是否成功发送
if [ $? -eq 0 ]; then
echo "Email sent successfully."
else
echo "Failed to send email. Please check the error message."
fi

recipient 变量是收件人的电子邮件地址。

subject 变量是邮件的主题。

message 变量包含邮件的正文内容。

使用 echo "$message" | mail -s "$subject" "$recipient" 将邮件正文通过管道传递给 mail 命令,并指定主题和收件人。


6

发送成功

输入命令 bash emailSend.sh 运行脚本

发送成功

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载