feat: importierte E-Mails automatisch in IMAP-Ordner verschieben und nach 90 Tagen löschen
Build and Push Multi-Platform Images / build-and-push (push) Successful in 31s
Build and Push Multi-Platform Images / build-and-push (push) Successful in 31s
- Neuer ImapFolderService verschiebt E-Mails nach erfolgreichem Import in den konfigurierbaren Ordner "importiert" (wird bei Bedarf automatisch erstellt) - Täglicher Cron um 03:00 Uhr verschiebt E-Mails älter als 90 Tage in den Papierkorb und leert ihn anschließend - createImapClient()-Hilfsmethode im EmailDownloadService ausgelagert - IMAP_IMPORTED_FOLDER und IMAP_TRASH_FOLDER in docker-compose ergänzt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,6 +12,7 @@ import { Task } from '../database/entities/task.entity';
|
||||
import { PaperlessService } from '../paperless/paperless.service';
|
||||
import * as QRCode from 'qrcode';
|
||||
import { EmailPageCacheService } from './email-page-cache.service';
|
||||
import { ImapFolderService } from './imap-folder.service';
|
||||
import { PdfService } from '../preprocessing/pdf.service';
|
||||
import * as path from 'path';
|
||||
import * as os from 'os';
|
||||
@@ -52,6 +53,7 @@ export class EmailImportService {
|
||||
private readonly paperlessService: PaperlessService,
|
||||
private readonly pdfService: PdfService,
|
||||
private readonly pageCache: EmailPageCacheService,
|
||||
private readonly imapFolderService: ImapFolderService,
|
||||
) {}
|
||||
|
||||
async ensurePreviews(emailId: number): Promise<void> {
|
||||
@@ -646,6 +648,12 @@ export class EmailImportService {
|
||||
this.logger.log(
|
||||
`Email ${firstAtt.EmailMessageId} als verarbeitet markiert.`,
|
||||
);
|
||||
const emailEntity = await this.emailRepo.findOne({ where: { Id: firstAtt.EmailMessageId } });
|
||||
if (emailEntity) {
|
||||
this.imapFolderService.moveToImportiert(emailEntity.MessageId).catch(err =>
|
||||
this.logger.error('IMAP-Verschieben fehlgeschlagen: ' + err.message),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user