Mail - Attachment (JPG) automatisch in Ordner verschieben
Moin,
ich habe schon vieles ausprobiert komme aber nicht mehr weiter.
Habe ein Debian Root Server, mit Postfix, Dovecote und RoundCube.
Ich habe eine Kamera die sendet per SMTP Bilder an eine eigens dafür erstelle EMail-Adresse.
Diese Bilder möchte ich gerne per Script in einen eigens dafür erstellten Ordner im Filesystem verschieben.
Dafür habe ich mir ein passendes Script gesucht und auch gefunden -> https://github.com/auino/mail-attachments-archiver
Wenn ich das Script ausführe bekomme ich folgenden Fehler
In dieser Zeile im Script wird das login gemacht
Nun habe ich versucht mit telnet localhost 143, IMAP manuell zu testen als root. Als Antwort bekomme ich immer ein: a NO [AUTHENTICATIONFAILED] Authentication failed.
Bin echt kein Linux-Freak und komme hier nicht weiter! Liegt es vielleicht daran das ich als Root dies versuche? Falls möglich wo kann ich das überprüfen? Sieht jemand eine andere Möglichkeit wie ich das lösen kann?
Wäre echt nett!
LG
ich habe schon vieles ausprobiert komme aber nicht mehr weiter.
Habe ein Debian Root Server, mit Postfix, Dovecote und RoundCube.
Ich habe eine Kamera die sendet per SMTP Bilder an eine eigens dafür erstelle EMail-Adresse.
Diese Bilder möchte ich gerne per Script in einen eigens dafür erstellten Ordner im Filesystem verschieben.
Dafür habe ich mir ein passendes Script gesucht und auch gefunden -> https://github.com/auino/mail-attachments-archiver
Wenn ich das Script ausführe bekomme ich folgenden Fehler
Traceback (most recent call last):
File "./mail-attachments-archiver.py", line 65, in <module>
m.login(USER, PWD)
File "/usr/lib/python2.7/imaplib.py", line 523, in login
raise self.error(dat[-1])
imaplib.error: [AUTHENTICATIONFAILED] Authentication failed.
In dieser Zeile im Script wird das login gemacht
# connecting to the IMAP serer
m = imaplib.IMAP4_SSL(IMAPSERVER)
m.login(USER, PWD)
# use m.list() to get all the mailboxes
m.select("INBOX") # here you a can choose a mail box like INBOX instead
Nun habe ich versucht mit telnet localhost 143, IMAP manuell zu testen als root. Als Antwort bekomme ich immer ein: a NO [AUTHENTICATIONFAILED] Authentication failed.
Bin echt kein Linux-Freak und komme hier nicht weiter! Liegt es vielleicht daran das ich als Root dies versuche? Falls möglich wo kann ich das überprüfen? Sieht jemand eine andere Möglichkeit wie ich das lösen kann?
Wäre echt nett!
LG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6922713070
Url: https://administrator.de/contentid/6922713070
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
43 Kommentare
Neuester Kommentar
root und andere System-Accounts sind per IMAP in Dovecot per Default nicht erlaubt deswegen auch die Fehlermeldung
System users used by Dovecot
Works as designed!
Cheers briggs
Authentication failed.
System users used by Dovecot
By default Dovecot allows users to log in only with UID numbers 500 and above. This check tries to make sure that no-one can ever log in as daemons or other system users. If you’re using an UID lower than 500, you’ll need to change the
Und root hat die ID 0! Nimm also besser gleich eine Mailbox eines normalen Users, root ist tabu. Die Direktive ändern würde ich dringend vermeiden.first_valid_uid setting
.Works as designed!
Cheers briggs
Hallo,
warum lässt du das nicht gleich den Debianserver selbst machen?
https://unix.stackexchange.com/questions/178396/run-script-on-receipt-of ...
lässt sich wunderbar mit postfix selbst lösen.
grüße
warum lässt du das nicht gleich den Debianserver selbst machen?
https://unix.stackexchange.com/questions/178396/run-script-on-receipt-of ...
lässt sich wunderbar mit postfix selbst lösen.
grüße
Hallo,
ja dann heists debuggen, ich tippe auf die falsche Login Methode.
Es kann aber auch sein, dass du dich auf den Port 143 verbindendest, es aber SSL sein sollte 993.
Wie ist denn der username aufgebaut? hast du die domain dabei?
ja dann heists debuggen, ich tippe auf die falsche Login Methode.
Es kann aber auch sein, dass du dich auf den Port 143 verbindendest, es aber SSL sein sollte 993.
Wie ist denn der username aufgebaut? hast du die domain dabei?
class imaplib.IMAP4_SSL(host='', port=IMAP4_SSL_PORT, keyfile=None, certfile=None, ssl_context=None, timeout=None)¶
IMAP4.login(user, password)
Identify the client using a plaintext password. The password will be quoted.
IMAP4.login_cram_md5(user, password)
Force use of CRAM-MD5 authentication when identifying the client to protect the password. Will only work if the server CAPABILITY response includes the phrase AUTH=CRAM-MD5.
https://doc.dovecot.org/admin_manual/logging/
https://docs.python.org/3/library/imaplib.html
Lesen, verstehen, korrigieren, freuen, Kaffeepause 😎.
https://docs.python.org/3/library/imaplib.html
Lesen, verstehen, korrigieren, freuen, Kaffeepause 😎.
Hallo,
schau dir mal an was im log auftaucht, wenn du dich übers Webmail einloggst, ich denke dort wird kein:
auftauchen, ich tippe auf ein method=XYZ
grüße
schau dir mal an was im log auftaucht, wenn du dich übers Webmail einloggst, ich denke dort wird kein:
Apr 26 13:07:50 server1 dovecot: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<cam1@domain.de>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, TLS: Connection closed, session=<y3YWQDv6oOl/AAAB>
grüße
Eventuell falsches Python Character Encoding oder Passwort zu kurz(Policy?).
Echt jetzt 😠? So kann man die Leute hier auch beschäftigen ...
Zitat von @JoshuaTree:
als Passwort habe ich bewusst etwas ganz einfaches genommen um Tippfehler auszuschließen.
als Passwort habe ich bewusst etwas ganz einfaches genommen um Tippfehler auszuschließen.
Tjoa....
Fehlen sämtliche Variablen .... 🍌 Heut schon wieder Freitag?
Zitat von @godlie:
Tja, hat deine ankommende Mail denn auch einen Betreff ala TODO oder TO-DO ?
bzw. bin ich mir grad nicht sicht mit dem YOUR_MAIL <-- ob das nicht die absender adresse sein müsste
Tja, hat deine ankommende Mail denn auch einen Betreff ala TODO oder TO-DO ?
bzw. bin ich mir grad nicht sicht mit dem YOUR_MAIL <-- ob das nicht die absender adresse sein müsste
Wollte ich gerade auch schreiben, im jetzigen Zustand muss du ja mit cam1@domain.de die Mail senden da die im Mapping als Absender hinterlegt ist zustätzlich im Betreff eines der Begriffe 'TODO', 'TO-DO' auftauchen...
Das die Mails nach jedem Durchgang gelöscht werden sollte auch klar sein weil so konfiguriert .
Nur er sollte sie ja nach /home/cam1/ verschieben
Das Skript verschiebt nichts! Es werden Attachments extrahiert und dort gespeichert nicht die Mail selbst!
Absender der Mails die eintreffen müssen hier definiert werden
{ 'filter_sender': True, 'senders': [ 'ABSENDER@domain.tld' ], 'add_date': True, 'subject': [ 'TODO', 'TO-DO' ], 'destination': '/home/cam1/' }
Also wenn ich das Script richtig interpretiere, dann ist dein Mapping falsch.
Deine Mails werden auf Read gesetzt da du dies ja expliziet gesetzt hast.
du könntest ja mal im Mail_MAPPING einfach das YOUR_MAIL rausnehmen und ein einfaches leeres array mitgeben [], aber vorsicht, das Subject mapping ist immer noch vorhanden
Deine Mails werden auf Read gesetzt da du dies ja expliziet gesetzt hast.
# if no match is found (on MAIL_MAPPINGS), mark email as read?
MARK_AS_READ_NOMATCH = True
Hab's hier mal getestet, läuft einwandfrei. Ergo ist wohl dein Mapping falsch konfiguriert wenn die Zugriffsrechte stimmen. Check also die Filterung aber bitte gründlicher wie die Prüfung deines Passworts!
Das schon. Aber das ist die Mailadresse, von der aus gesendet wurde. Du hast aber die Adresse angegeben, an die die Cam sendet. Zumindest stehts so in der Frage.
Und wenn es da keine Treffer gibt (der Betreff zählt da auch dazu) hat das Script nix weiter zu tun.
Und wegen MARK_AS_READ_NOMATCH = True werden auch alle Mails auf gelesen gesetzt, wenn es keine Übereinstimmung im Filter gibt.
Du hast das Mail-Mapping nicht verstanden?
In deinem Script werden nur die Anhänge der Mails vom Absender YOUR_MAIL in den Ordner /home/cam1 kopiert, wenn die Mails den Betreff TODO oder TO-DO haben.
Teste doch das ganze mit einer Mail samt Anhang, die du manuell an die Empfängeradresse schickst und gib der den Betreff TODO.
In deinem Script werden nur die Anhänge der Mails vom Absender YOUR_MAIL in den Ordner /home/cam1 kopiert, wenn die Mails den Betreff TODO oder TO-DO haben.
Teste doch das ganze mit einer Mail samt Anhang, die du manuell an die Empfängeradresse schickst und gib der den Betreff TODO.
Zitat von @JoshuaTree:
Was hast du im Subject filter angegeben? TODO/TO-DO ist ja quatsch oder?
Wenn das da steht natürlich! Das musst du an deine Mails anpassen! Zusätzlich zum Absender der Mails. Beides muss stimmen damit Nachrichten verarbeitet werden !Zitat von @6247018886:
Hab's hier mal getestet, läuft einwandfrei. Ergo ist wohl dein Mapping falsch konfiguriert wenn die Zugriffsrechte stimmen. Check also die Filterung aber bitte gründlicher wie die Prüfung deines Passworts!
Hab's hier mal getestet, läuft einwandfrei. Ergo ist wohl dein Mapping falsch konfiguriert wenn die Zugriffsrechte stimmen. Check also die Filterung aber bitte gründlicher wie die Prüfung deines Passworts!
Was hast du im Subject filter angegeben? TODO/TO-DO ist ja quatsch oder?
Was verstehst du unter mapping? /home/cam1/ ?
Die ganzen Properties des Tuples.
Nicht mit dem vorgegebenen Mapping. Da wird ein String gesetzt.
Aber laut github:
Concerning subject check, if the specified subject is found inside of the entire object (not equality comparison), the attachment is store, otherwise not.
Wenn da die Extension (also ein .jpg) im Betreff mitgesendet wird, dann wird es ein '.jpg' im Mapping auch mitnehmen.
Aber laut github:
Concerning subject check, if the specified subject is found inside of the entire object (not equality comparison), the attachment is store, otherwise not.
Wenn da die Extension (also ein .jpg) im Betreff mitgesendet wird, dann wird es ein '.jpg' im Mapping auch mitnehmen.
Ist per Default wildcard nur ohne Angabe mit *. Ein leerer String matcht alle Subjects.
Nur ['0000000AJOM1-SYFR'] rein schreiben und den zweiten Array-Teil entfernen das Sternchen gibt's bei einem in Vergleich nicht.
https://tio.run/##K6gsycjPM/7/PzNNQd0jMUddITMPzMjJV7fiUgCCgqLMvBINJX9vBU ...
https://tio.run/##K6gsycjPM/7/PzNNQd0jMUddITMPzMjJV7fiUgCCgqLMvBINJX9vBU ...
Jepp, dann matcht er eh alle Mails des Absenders 😉