Linuxメールの送信を知らせる方法について教えてください。

Linuxには、mailやsendmailというコマンドラインツールを使用してメールを送信することができます。これらのツールは、デフォルトではメール送信の通知機能を提供しません。ただし、スクリプトや定期実行タスクを使用してメール送信の通知機能を実現することができます。

以下为一个示例,通过脚本实现发送邮件提醒。

  1. sendmailリマインダー.sh
$ touch sendmail_reminder.sh
$ chmod +x sendmail_reminder.sh
  1. スクリプトファイルを編集し、以下の内容を追加してください。
#!/bin/bash

# 发送邮件提醒函数
sendmail_reminder() {
    # 判断最近一次邮件发送的时间
    last_sent=$(stat -c %Y /var/mail/your_username)
    current_time=$(date +%s)
    time_diff=$((current_time - last_sent))

    # 如果时间间隔超过设定的阈值,则发送提醒邮件
    if [ $time_diff -gt 3600 ]; then
        echo "请检查您的邮件,您已经超过一个小时没有收到新邮件了!" | mail -s "邮件提醒" your_email@example.com
    fi
}

# 调用邮件提醒函数
sendmail_reminder

ユーザー名の”your_username”をお使いのユーザー名に、”your_email@example.com”をお使いのメールアドレスに変更してください。

  1. スクリプトファイルを保存してエディターを終了してください。
  2. crontabコマンドを使用して定期的にメールリマインダースクリプトを実行する定時タスクを追加します。たとえば、スクリプトを毎時実行するようにするには、以下のコマンドを実行します。
$ crontab -e

以下の内容を編集エディターに追加してください:

0 * * * * /path/to/sendmail_reminder.sh

実際のスクリプトファイルのパスに/path/to/sendmail_reminder.shを置き換えてください。

  1. 定期タスクを保存してエディターを終了します。これにより、メール通知スクリプトが毎時実行されます。

上記の手順に従うことで、最新のメール送信時間を定期的にチェックし、メールリマインダーを自分のメールボックスに送信する定時タスクを設定することができます。設定した時間を過ぎて新しいメールを受信していない場合、リマインダーメールが届きます。

bannerAds