MUTT via Cronjob - No recipients were specified | suche alternative
MUTT via Cronjob - No recipients were specified | suche alternative
Hallo,
ich hab mir ein BASH script gebastelt das ein IMAP Postfach abfragt.
Die Mails in ein Verzeichnis speichert und dann prüft auf Betreff
wenn Betreff mit SUCHSTING übereinstimmt wird eine aktion ausgelöst.
Wenn ich angemeldet bin und das script startet läut es.
Aber als cronjob klappt es nicht bekomme dann von MUTT diese Fehler/Infomeldung: No recipients were specified
Gibt es eine andere SHELL (zsh hab ich versucht das ist es das selbe)
Habe auch schon das ENV via export kommando erweitert.... aber das bringt leider auch nix.
Auch wenn ich " mutt -F ~/.muttrc ..... " aufrufe..... find nur artikel im web die das selbe Problem haben......
Nehme auch gerne ein anderes Tool
Aufgabe wäre: MAILS per IMAP holen, wenn Betreff mit dem SUCHSTING zusammenpassen dann führe aktion aus
ich hab mir ein BASH script gebastelt das ein IMAP Postfach abfragt.
Die Mails in ein Verzeichnis speichert und dann prüft auf Betreff
wenn Betreff mit SUCHSTING übereinstimmt wird eine aktion ausgelöst.
Wenn ich angemeldet bin und das script startet läut es.
Aber als cronjob klappt es nicht bekomme dann von MUTT diese Fehler/Infomeldung: No recipients were specified
Gibt es eine andere SHELL (zsh hab ich versucht das ist es das selbe)
Habe auch schon das ENV via export kommando erweitert.... aber das bringt leider auch nix.
Auch wenn ich " mutt -F ~/.muttrc ..... " aufrufe..... find nur artikel im web die das selbe Problem haben......
Nehme auch gerne ein anderes Tool
Aufgabe wäre: MAILS per IMAP holen, wenn Betreff mit dem SUCHSTING zusammenpassen dann führe aktion aus
Re: MUTT via Cronjob - No recipients were specified | suche alternative
Keine Ahnung was das Problem in dem Fall ist.
Ich nutze fuer solche Aufgaben
fetchmail (Mails abholen) in Kombination mit
procmail (basierend auf Bedingungen Aktionen ausfuehren).
Ich nutze fuer solche Aufgaben


Use ed once in a while!
Re: MUTT via Cronjob - No recipients were specified | suche alternative
super danke
hast du mir da ein beispiel script für fetchmail ?
hast du mir da ein beispiel script für fetchmail ?
Re: MUTT via Cronjob - No recipients were specified | suche alternative
Fetchmail ist easy.ds2k4 hat geschrieben:23.02.2022 09:21:26super danke
hast du mir da ein beispiel script für fetchmail ?
In ~/.fetchmailrc in etwa sowas:
Code: Alles auswählen
poll mail.example.org
protocol imap
user meillo
ssl
keep
Code: Alles auswählen
machine mail.example.org
login meillo
password geheim
Du musst dir nur zuvor noch anschauen was fetchmail mit den Mails weiter machen soll. Die Manpage ist sehr ausfuerlich. Darin solltest du alles finden.
Procmail ist etwas komplizierter. Das hat aber eine gute zusaetzliche Manpage mit Beispielen: `man procmailex'.
Fuer beide Programme sollte es viel Doku im Netz geben.
Use ed once in a while!
- Blackbox
- Beiträge: 4289
- Registriert: 17.09.2008 17:01:20
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: MUTT via Cronjob - No recipients were specified | suche alternative
Es sollte doch einleuchten, dass zu einer solchen Meldung auch das erstellte Skript angefügt gehört.
Ebenfalls interessant.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14
Freie Software unterstützen, Grundrechte stärken!
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14
Freie Software unterstützen, Grundrechte stärken!
Re: MUTT via Cronjob - No recipients were specified | suche alternative
@blackbox
ok.....
wie gesagt wenn ich angemeldet bin tut es....
aber als cronjob halt nicht
ich bin kein programmier ... daher sind die script nicht sol toll....
get_mails.sh
target_list
email_to_file.sh
.muttrc
ok.....
wie gesagt wenn ich angemeldet bin tut es....
aber als cronjob halt nicht
ich bin kein programmier ... daher sind die script nicht sol toll....
get_mails.sh
Code: Alles auswählen
#!/usr/bin/zsh
source ~/.zshrc
echo $PATH
export TERM=xterm-256color
export SHELL=/bin/zsh
export XDG_SESSION_TYPE=tty
export XDG_RUNTIME_DIR=/run/user/1000
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
env > env_cron.txt
set -x
function getmail {
if [ $? -ne 0 ]
then
echo "keine Mails"
exit
else
/usr/bin/mutt -z -e 'push "| ~/email_to_file.sh /tmp/email<enter><delete-message><quit><exit><quit>'
getmail
fi
}
[ ! -d "/tmp/email" ] && mkdir /tmp/email
/usr/bin/mutt -z -e 'push "| ~/email_to_file.sh /tmp/email<enter><delete-message><quit><exit><quit>'
TARGET=`/usr/bin/cat ~/target_list`
for i in `/usr/bin/grep -l Subject /tmp/email/*`
do
echo $i
PRINTFILE=`/usr/bin/grep -l $TARGET $i`
if [ -z $PRINTFILE ]; then
break
fi
/usr/bin/iconv -t UTF-8 $PRINTFILE -o /tmp/email/printfile
/usr/bin/iconv -t ASCII /tmp/email/printfile -o /tmp/email/printfile1
/usr/bin/lp /tmp/email/printfile1
/usr/bin/rm $PRINTFILE
/usr/bin/rm /tmp/email/printfile*
done
target_list
Code: Alles auswählen
ALERT\|Alarm
email_to_file.sh
Code: Alles auswählen
#!/usr/bin/env bash
# Save piped email to "$1/YYMMDD SUBJECT.eml"
set -x
# Don't overwrite existing file
set -o noclobber
message=$(cat)
mail_date=$(<<<"$message" grep -oPm 1 '^Date: ?\K.*')
#formatted_date=$(date -d"$mail_date" +%y%m%d%)
formatted_date=$(date -d"$mail_date" +%y%m%d%H%M%S)
# Get the first line of the subject, and change / to ∕ so it's not a subdirectory
subject=$(<<<"$message" grep -oPm 1 '^Subject: ?\K.*' | sed 's,/,∕,g' | sed -e 's/ //g')
if [[ $formatted_date == '' ]]; then
echo Error: no date parsed
exit 1
elif [[ $subject == '' ]]; then
echo Warning: no subject found
fi
echo "${message}" > "$1/$formatted_date$subject.eml" && echo Email saved to "$1/$formatted_date$subject.eml"
.muttrc
Code: Alles auswählen
# Automatically log in to this mailbox at startup
set spoolfile="imaps://user32011:password@mailserver.domain.tld/INBOX/"
# Define the = shortcut, and the entry point for the folder browser (c?)
set folder="imaps://mailserver.domain.tld/INBOX"
set record="=Sent"
set postponed="=Drafts"
#newest emails on top
set sort_aux = last-date-received
set sort = reverse-threads
set auto_tag=yes
set timeout=10
set wait_key = no
set delete = yes
folder-hook INBOX/ 'macro index,pager S "| ~/email_to_file.sh /tmp/email<enter>"'
Re: MUTT via Cronjob - No recipients were specified | suche alternative
Geht es wenn du die Tilden (~) mit dem absoluten Pfad des Home-Verzeichnisses ersetzt?
Use ed once in a while!
Re: MUTT via Cronjob - No recipients were specified | suche alternative
leider nein auch wenn ich " ~ " gehen /home/username ersetze
muss jetzt leider weg...... melde mich am Di. wieder
danke euch !!!
muss jetzt leider weg...... melde mich am Di. wieder
danke euch !!!
Re: MUTT via Cronjob - No recipients were specified | suche alternative
Auch an das ~ in der muttrc gedacht? Gleiches für alles was includiert/gesourced wird.
Wie sind die Berechtigungen von dem Script gesetzt?
Wessen Crontab wird genutzt?
Wie sind die Berechtigungen von dem Script gesetzt?
Wessen Crontab wird genutzt?
Re: MUTT via Cronjob - No recipients were specified | suche alternative
@eggy
ja hab ich auch in der .muttrc gegen den kompletten path ersetzt...
leider das selbe problem....
ja hab ich auch in der .muttrc gegen den kompletten path ersetzt...
leider das selbe problem....
Re: MUTT via Cronjob - No recipients were specified | suche alternative
ja alles, hab keine "~" mehr drinn