알파인에서 새 메일 알림을 어떻게 사용자 정의 할 수 있습니까?


11

알파인을 기본 메일 리더로 사용합니다. 하루 종일 터미널이나 Emacs에서 보내는 동안에도 notify-bin을 사용하여 새 메일에 대한 알림을받는 것이 좋습니다. 새 메일을받을 때 사용자 지정 명령을 실행하도록 alpine을 구성 할 수있는 방법이 있습니까?

답변:


7

알파인에는 "NewMail FIFO 경로"구성 옵션이 있습니다. 도움을 인용 :

Alpine이 FIFO 특수 파일 (명명 된 파이프라고도 함)을 작성하여 현재 폴더,받은 편지함 또는 열려있는 Stayopen Folders에 새 메시지가 수신 될 때마다 한 줄 메시지를 보냅니다. 두 개의 다른 알파인이 동일한 FIFO에 쓰는 것을 막기 위해 알파인은 FIFO를 생성하고 존재하지 않는 경우에만 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'명령으로 컴파일하십시오. 알파인이 시작된 후 '알파인 알리미'를 시작하십시오. 팝업 알림을 즐기십시오.


좋은 해결책 :-)
echox

대박. 본질적으로 동일한 작업을 수행하는 작은 쉘 스크립트를 작성했습니다.
Steven D

1
@ 스티븐 : 당신이 그것을 공유하기에 충분히 친절하면 나는 그것에 투표합니다. :-)
Malabarba

신경 쓰지 마라, 나는 또한 하나를 쓰는 것을 끝내었다.
Malabarba

4

업데이트 :
이전 답변에 만족하지 않아서 스크립트를 많이 개선하고 github repo 를 만들었 습니다.

이제 알파인을 시작한 후 스크립트를 시작할 필요가 없습니다. 스크립트가 모든 것을 처리합니다. 스크립트의 핵심은 거의 동일합니다 (구문 분석 만 약간 개선했습니다).

#! /bin/bash
while read L; do
    n=$(($n + 1))  
    if [[ n -gt 3 ]]; then      
        name=`echo "$L"  | sed 's/  \+/\t/g;s/^\(+ \)\?\([^\t]*\)\t\([^\t]*\)[\t ].*/\2/'`
        subject=`echo "$L"  | sed 's/  \+/\t/g;s/^\([^\t]*\)\t\(Re: \?\)\?\([^\t]*\)[\t ].*/\3/'`
        box=`echo "$L"  | sed 's/  \+/\t/g;s/^\([^\t]*\)\t\([^\t]*\)[\t ]\([^\t]*\).*/\3/'`
        notify-send -t 10000 $iconcommand "Mail from $name" "$subject\n-\nIn your $box."
    fi
done < <(cat alpine.fifo)

나머지는 여기에 게시하기에 약간 크므로 관심있는 사람은 누구나 repo 에서 얻을 수 있습니다 .


1
Bruce, 스크립트를 공유해 주셔서 감사합니다! 이제 쉘에서 열린 상태로 FIFO에서 메시지를 읽고 처리하는 방법을 알고 있습니다. 나 자신을 위해 알리미를 설정하는 동안 그것을 알아낼 수 없었다 :)
Linulin

@Linulin 쿨. =)는 불행하게도 필터는 내가 설정을 사용 content하고 name경우에 따라 약간의 버그가 있습니다., 그들은 내가 전혀 대답을 게시하는 이유있어 바보 때문에 조금이다. = P
Malabarba

쉘이 잘 사용되는 것을 보는 것이 좋습니다. github에 게시 해 주셔서 감사합니다. 브라보!
병아리

1

Gnubiff, mail-notification 또는 kbiff와 같은 특수한 메일 ​​알림 도구를 사용할 수 없습니까?


메일 알림을 사용하여 비슷한 것을 달성하고 싶지만 메일 알림 new-mail 명령을 사용자 정의하는 방법에 대한 문서를 찾을 수 없습니다.
Jonathan Neufeld

1

알파인의 "새 메일 알림"을 ​​사용자 정의 할 수 없습니다.

구성 설명서 에는 이러한 옵션이 언급되어 있지 않습니다 .

다음은 Eduardo Chappa의 메일 링리스트에서 인용 한 내용입니다.

새 메일이 도착하면 알파인이 화면을 깜박여 그놈 터미널에 시각적 경고를 표시하는 것으로 나타났습니다. 예를 들어 소리 등을 재생하도록 경고를 사용자 정의 할 수있는 방법이 있습니까?

[..]

지금 알 수 있듯이 알파인은 경고음 만 울립니다. Web Alpine에서는 새 메일 알림을 위해 재생할 파일을 브라우저로 보낼 수 있습니다. Unix, Mac 또는 Windows Alpine에는 이러한 기능이 없습니다.

옵션은 다음과 같습니다.

그리고 내가 좋아하는 메일 클라이언트의 개발자를 인용하기 위해 :

모든 메일 클라이언트는 ...

:-)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.