Remove IMAP fallback and clean up webhook logic

This commit is contained in:
AyrisAI
2026-05-14 19:09:44 +03:00
parent c331162704
commit add1876c11

View File

@@ -1,11 +1,9 @@
import { NextResponse } from 'next/server';
import { prisma } from '@/lib/prisma';
import { getLatestEmail } from '@/lib/mail';
import { sendTelegramNotification } from '@/lib/notifications';
// Bu kısım normalde .env içinde olmalı
const WEBHOOK_SECRET = process.env.WEBHOOK_SIGNAL_SECRET || 'besiktasK1903*';
const IMAP_PASSWORD = process.env.MAILCOW_MASTER_PASSWORD || ''; // Dovecot Master Password tavsiye edilir
// RFC 2047 Decode Fonksiyonu
function decodeMimeText(text: string) {
@@ -56,26 +54,18 @@ export async function POST(request: Request) {
}
// 2. Mail İçeriğini Belirle
let mailData = null;
if (incomingSubject || incomingSnippet) {
console.log(`[Signal] İçerik worker'dan hazır geldi: ${subject}`);
mailData = {
subject: subject || "(Konu Yok)",
text: incomingSnippet || "",
from: incomingFrom || "Bilinmiyor"
};
} else {
console.log("[Signal] İçerik eksik, IMAP'e gidiliyor...");
mailData = await getLatestEmail(to, IMAP_PASSWORD);
if (!incomingSubject && !incomingSnippet) {
console.log(`[Signal] İçerik eksik, işlem durduruldu: ${to}`);
return NextResponse.json({ success: true, message: 'No content provided' });
}
if (!mailData) {
console.error(`[Signal] Mail içeriği çekilemedi: ${to}`);
return NextResponse.json({ success: false, error: 'Could not fetch mail' }, { status: 500 });
}
const mailData = {
subject: subject || "(Konu Yok)",
text: incomingSnippet || "",
from: incomingFrom || "Bilinmiyor"
};
// 3. İçerik Analizi (BMW, Penti vb.)
console.log(`[Signal] Mail İşleniyor: "${mailData.subject}"`);
let processed = false;
let extraInfo = "";
const analysisContent = (mailData.subject + " " + mailData.text).toLowerCase();