shell脚本每天发一份邮件到指定邮件的代码
时间: 2023-06-25 07:07:44 浏览: 43
以下是一个发送邮件的 shell 脚本示例:
```bash
#!/bin/bash
# 设置收件人邮箱地址
recipient="recipient@example.com"
# 设置邮件主题和内容
subject="Daily Report"
body="Hello,\n\nHere is the daily report for today."
# 发送邮件
echo -e "$body" | mail -s "$subject" "$recipient"
```
要定期执行脚本并发送邮件,可以使用系统自带的计划任务工具 `crontab`。例如,将脚本设置为每天早上 9 点发送,可以在终端中输入以下命令:
```bash
crontab -e
```
然后在编辑器中添加以下一行:
```
0 9 * * * /path/to/your/script.sh
```
保存并退出编辑器即可。这样每天早上 9 点,系统就会自动执行脚本并发送邮件。记得将 `/path/to/your/script.sh` 替换为你实际的脚本路径。
相关问题
shell脚本每天发一份邮件到指定邮件的代码,需要验证邮箱地址及密码
以下是一个示例脚本,可以每天定时发送一封邮件到指定邮箱,并验证邮箱地址和密码:
```bash
#!/bin/bash
# 设置收件人邮箱地址
recipient="example@example.com"
# 设置发件人邮箱地址和密码
sender="your_email@example.com"
password="your_password"
# 验证邮箱地址和密码
if ! echo $sender | grep -E '^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+$' >/dev/null; then
echo "Invalid sender email address!"
exit 1
fi
if [ -z "$password" ]; then
echo "Invalid sender password!"
exit 1
fi
# 设置邮件内容
subject="Daily Report"
message="Hello, this is your daily report!"
# 发送邮件
echo "$message" | mailx -s "$subject" -r "$sender" -S smtp=smtp.gmail.com:587 -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user="$sender" -S smtp-auth-password="$password" "$recipient"
```
注意,上面的示例脚本中使用了 `mailx` 命令来发送邮件,需要先安装 `mailx`。如果你使用的是其他邮件客户端,可以将命令行参数调整为对应的参数。此外,为了能够使用 Gmail 的 SMTP 服务器发送邮件,需要先在 Gmail 中开启 SMTP 访问权限。
shell脚本发邮件
你可以使用邮件客户端程序来编写一个shell脚本来发送邮件。以下是一个简单的示例:
```bash
#!/bin/bash
# 设置收件人和主题
recipient="example@example.com"
subject="邮件主题"
# 设置邮件正文
body="这是一封测试邮件。"
# 发送邮件
echo "$body" | mail -s "$subject" "$recipient"
```
在上面的示例中,你需要替换`recipient`为收件人的邮箱地址,`subject`为邮件的主题,以及`body`为邮件的正文内容。然后使用`mail`命令将`body`作为输入发送给收件人。
请注意,这个示例假设你已经在你的系统上配置好了邮件服务。如果没有配置或不可用,你可能需要先设置好邮件服务才能成功发送邮件。