Alpineで新しいEメール通知をカスタマイズする方法は?

Alpineで新しいEメール通知をカスタマイズする方法は?

私はアルパインをデフォルトのメールリーダーとして使用します。ターミナルやEmacsから1日のほとんどを送信しますが、通知ボックスを使用して新しいメールに関する良い通知を受け取ることはまだ良いことです。新しいメールを受信したときにカスタムコマンドを実行するようにAlpineを設定する方法はありますか?

ベストアンサー1

Alpineには「NewMail FIFO Path」設定オプションがあります。見積もりの​​ヒント:

Alpineに、現在のフォルダ、受信トレイ、または開いているStayopenフォルダから新しいメッセージが受信されるたびにメッセージ行を送信するFIFO特殊ファイル(名前付きパイプとも呼ばれる)を生成させることができます。 2つの異なるAlpineが同じFIFOに書き込むのを防ぐために、AlpineはFIFOのみを生成し、存在しない場合にのみ書き込みます。

そこで、オプションを「/tmp/alpine.fifo」に設定し、FIFOからメッセージを読み取り、「notify-send」を呼び出す簡単なユーティリティを作成しました。

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

#define FIFO_NAME "/tmp/alpine.fifo"

int main(void)
{   
    char s[512];
    char cmd[512];
    int num;
    int fd = open(FIFO_NAME, O_RDONLY);
    do {
        if ((num = read(fd, s, 300)) == -1)
            perror("read");
        else {
            s[num] = '\0';
            sprintf(cmd, "notify-send -t 0 'New mail:' '%s'", s);
            system(cmd);
        }
    } while (num > 0);

    return 0;
}

これをalpine-notifier.cに保存し、 "gcc alpine-notifier.c -o alpine-notifier"コマンドを使用してコンパイルします。アルパインの起動後、「alpine-notifier」を起動します。ポップアップ通知をお楽しみください。

おすすめ記事