1 line
4.4 KiB
JavaScript
1 line
4.4 KiB
JavaScript
(()=>{var e={};e.id=8803,e.ids=[8803],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:e=>{"use strict";e.exports=require("node:buffer")},8086:e=>{"use strict";e.exports=require("module")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:e=>{"use strict";e.exports=require("assert")},14985:e=>{"use strict";e.exports=require("dns")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},41204:e=>{"use strict";e.exports=require("string_decoder")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:e=>{"use strict";e.exports=require("node:os")},55511:e=>{"use strict";e.exports=require("crypto")},57075:e=>{"use strict";e.exports=require("node:stream")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73566:e=>{"use strict";e.exports=require("worker_threads")},74075:e=>{"use strict";e.exports=require("zlib")},76760:e=>{"use strict";e.exports=require("node:path")},78335:()=>{},78474:e=>{"use strict";e.exports=require("node:events")},79428:e=>{"use strict";e.exports=require("buffer")},79551:e=>{"use strict";e.exports=require("url")},88785:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>g,routeModule:()=>p,serverHooks:()=>x,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>d});var s={};r.r(s),r.d(s,{POST:()=>a});var o=r(96559),i=r(48088),n=r(37719),u=r(32190),c=r(12461);async function a(e){try{let t=await e.json().catch(e=>(console.error("Error parsing request body:",e),{}));console.log("Testing connection with:",{...t,password:t.password?"***":void 0});let{email:r,password:s,host:o,port:i,secure:n=!0}=t;if(!r||!s||!o||!i){let e=[];return r||e.push("email"),s||e.push("password"),o||e.push("host"),i||e.push("port"),u.NextResponse.json({error:`Missing required fields: ${e.join(", ")}`},{status:400})}let a=o;a.startsWith("http://")?a=a.substring(7):a.startsWith("https://")&&(a=a.substring(8)),console.log(`Testing IMAP connection to ${a}:${i} for ${r}`);let p=new c._({host:a,port:"string"==typeof i?parseInt(i):i,secure:!0===n||"true"===n,auth:{user:r,pass:s},logger:!1,tls:{rejectUnauthorized:!1},connectionTimeout:1e4});try{await p.connect(),console.log(`IMAP connection successful for ${r}`);let e=(await p.list()).map(e=>e.path);console.log(`Found ${e.length} folders:`,e.slice(0,5));try{await p.logout()}catch(e){}return u.NextResponse.json({success:!0,message:"IMAP connection successful",details:{host:a,port:i,folderCount:e.length,sampleFolders:e.slice(0,5)}})}catch(r){console.error("IMAP connection test failed:",r);let e="Connection failed",t="";r instanceof Error&&(t=r.message,r.message.includes("Invalid login")||r.message.includes("authentication failed")?e="Invalid username or password":r.message.includes("ENOTFOUND")||r.message.includes("ECONNREFUSED")?e="Cannot connect to server - check host and port":r.message.includes("certificate")?e="SSL/TLS certificate issue":r.message.includes("timeout")&&(e="Connection timed out"));try{await p.logout()}catch(e){}return u.NextResponse.json({error:e,details:t,debug:{providedHost:o,cleanHost:a,port:i,secure:n}},{status:400})}}catch(e){return console.error("Error testing connection:",e),u.NextResponse.json({error:"Failed to test connection",details:e instanceof Error?e.message:"Unknown error"},{status:500})}}let p=new o.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/courrier/test-connection/route",pathname:"/api/courrier/test-connection",filename:"route",bundlePath:"app/api/courrier/test-connection/route"},resolvedPagePath:"/Users/alma/Documents/NeahNew/app/api/courrier/test-connection/route.ts",nextConfigOutput:"",userland:s}),{workAsyncStorage:l,workUnitAsyncStorage:d,serverHooks:x}=p;function g(){return(0,n.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:d})}},91645:e=>{"use strict";e.exports=require("net")},94735:e=>{"use strict";e.exports=require("events")},96487:()=>{}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4243,580,8376,2461],()=>r(88785));module.exports=s})(); |