mail page imap connection mime 5 bis rest 14

This commit is contained in:
alma 2025-04-15 23:20:35 +02:00
parent 133dafe8c4
commit 63669217db
2 changed files with 25 additions and 9 deletions

View File

@ -1,26 +1,30 @@
import { NextResponse } from 'next/server'; import { NextResponse } from 'next/server';
import Imap from 'imap'; import Imap from 'imap';
import { simpleParser } from 'mailparser'; import { simpleParser } from 'mailparser';
import getConfig from 'next/config';
// Get server runtime config
const { serverRuntimeConfig } = getConfig();
// Debug logging for environment variables // Debug logging for environment variables
console.log('Environment Variables:', { console.log('Environment Variables:', {
IMAP_USER: process.env.IMAP_USER, IMAP_USER: serverRuntimeConfig.IMAP_USER,
IMAP_HOST: process.env.IMAP_HOST, IMAP_HOST: serverRuntimeConfig.IMAP_HOST,
IMAP_PORT: process.env.IMAP_PORT, IMAP_PORT: serverRuntimeConfig.IMAP_PORT,
IMAP_PASSWORD: process.env.IMAP_PASSWORD ? '***' : undefined, IMAP_PASSWORD: serverRuntimeConfig.IMAP_PASSWORD ? '***' : undefined,
NODE_ENV: process.env.NODE_ENV NODE_ENV: process.env.NODE_ENV
}); });
// IMAP configuration // IMAP configuration
const imapConfig: Imap.Config = { const imapConfig: Imap.Config = {
user: process.env.IMAP_USER as string, user: serverRuntimeConfig.IMAP_USER as string,
password: process.env.IMAP_PASSWORD as string, password: serverRuntimeConfig.IMAP_PASSWORD as string,
host: process.env.IMAP_HOST || 'mail.infomaniak.com', host: serverRuntimeConfig.IMAP_HOST || 'mail.infomaniak.com',
port: parseInt(process.env.IMAP_PORT || '993', 10), port: parseInt(serverRuntimeConfig.IMAP_PORT || '993', 10),
tls: true, tls: true,
tlsOptions: { tlsOptions: {
rejectUnauthorized: false, rejectUnauthorized: false,
servername: process.env.IMAP_HOST || 'mail.infomaniak.com' servername: serverRuntimeConfig.IMAP_HOST || 'mail.infomaniak.com'
}, },
authTimeout: 10000, authTimeout: 10000,
connTimeout: 10000, connTimeout: 10000,

View File

@ -27,6 +27,18 @@ const nextConfig = {
IMAP_HOST: process.env.IMAP_HOST, IMAP_HOST: process.env.IMAP_HOST,
IMAP_PORT: process.env.IMAP_PORT, IMAP_PORT: process.env.IMAP_PORT,
}, },
// Ensure environment variables are available in API routes
serverRuntimeConfig: {
IMAP_USER: process.env.IMAP_USER,
IMAP_PASSWORD: process.env.IMAP_PASSWORD,
IMAP_HOST: process.env.IMAP_HOST,
IMAP_PORT: process.env.IMAP_PORT,
},
// Make environment variables available to the client
publicRuntimeConfig: {
IMAP_HOST: process.env.IMAP_HOST,
IMAP_PORT: process.env.IMAP_PORT,
}
}; };
mergeConfig(nextConfig, userConfig); mergeConfig(nextConfig, userConfig);