#!/usr/bin/env node
import { UniversalEmailMCPServer } from './index.js';
async function testAutoConfig() {
console.log('๐ ๆต่ฏ้ฎ็ฎฑ่ชๅจ้
็ฝฎๅ่ฝ\n');
const server = new UniversalEmailMCPServer();
try {
// ๆต่ฏ1: ๅๅบๆฏๆ็้ฎ็ฎฑๆไพๅ
console.log('๐ ๆต่ฏ1: ๅๅบๆฏๆ็้ฎ็ฎฑๆไพๅ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const providersResult = await server.listSupportedProviders();
console.log(providersResult.content[0].text);
console.log();
// ๆต่ฏ2: ่ชๅจ้
็ฝฎ163้ฎ็ฎฑ
console.log('๐ ๆต่ฏ2: ่ชๅจ้
็ฝฎ163้ฎ็ฎฑ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const setup163Result = await server.setupEmailAccount({
email: 'ganyizhi520@163.com',
password: ''
});
console.log(setup163Result.content[0].text);
console.log();
// ๆต่ฏ3: ่ฟๆฅๆต่ฏ
console.log('๐ ๆต่ฏ3: ่ฟๆฅๆต่ฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const testResult = await server.testConnection({ testType: 'smtp' });
console.log(testResult.content[0].text);
console.log();
// ๆต่ฏ4: ๅ้้ฎไปถ
console.log('๐ ๆต่ฏ4: ๅ้ๆต่ฏ้ฎไปถ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sendResult = await server.sendEmail({
to: ['229637012@qq.com'],
subject: '่ชๅจ้
็ฝฎๅ่ฝๆต่ฏ',
text: '่ฟๆฏ่ชๅจ้
็ฝฎๅ่ฝ็ๆต่ฏ้ฎไปถ๏ผ\n\n็ณป็ปๅทฒ่ชๅจ่ฏๅซ163้ฎ็ฎฑๅนถ้
็ฝฎไบ็ธๅบ็ๆๅกๅจ่ฎพ็ฝฎใ\n\nๆต่ฏๆถ้ด: ' + new Date().toLocaleString()
});
console.log(sendResult.content[0].text);
console.log();
// ๆต่ฏ5: ่ทๅ้ฎไปถๅ่กจ
console.log('๐ ๆต่ฏ5: ่ทๅ้ฎไปถๅ่กจ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const emailsResult = await server.getRecentEmails({ limit: 3, days: 7 });
console.log(emailsResult.content[0].text);
console.log();
console.log('โ
่ชๅจ้
็ฝฎๅ่ฝๆต่ฏๅฎๆ๏ผ');
} catch (error) {
console.error('โ ๆต่ฏๅคฑ่ดฅ:', error.message);
console.error(error.stack);
}
}
// ๆต่ฏQQ้ฎ็ฎฑ่ชๅจ้
็ฝฎ
async function testQQAutoConfig() {
console.log('\n๐ ๆต่ฏQQ้ฎ็ฎฑ่ชๅจ้
็ฝฎๅ่ฝ\n');
const server = new UniversalEmailMCPServer();
try {
// ่ชๅจ้
็ฝฎQQ้ฎ็ฎฑ
console.log('๐ ่ชๅจ้
็ฝฎQQ้ฎ็ฎฑ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const setupQQResult = await server.setupEmailAccount({
email: '229637012@qq.com',
password: '' // QQ้ฎ็ฎฑๆๆ็
});
console.log(setupQQResult.content[0].text);
console.log();
// ่ฟๆฅๆต่ฏ
console.log('๐ QQ้ฎ็ฎฑ่ฟๆฅๆต่ฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const testResult = await server.testConnection({ testType: 'both' });
console.log(testResult.content[0].text);
console.log();
// ๅ้ๆต่ฏ้ฎไปถ
console.log('๐ QQ้ฎ็ฎฑๅ้ๆต่ฏ้ฎไปถ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sendResult = await server.sendEmail({
to: ['ganyizhi520@163.com'],
subject: 'QQ้ฎ็ฎฑ่ชๅจ้
็ฝฎๆต่ฏ',
text: '่ฟๆฏQQ้ฎ็ฎฑ่ชๅจ้
็ฝฎๅ่ฝ็ๆต่ฏ้ฎไปถ๏ผ\n\n็ณป็ปๅทฒ่ชๅจ่ฏๅซQQ้ฎ็ฎฑๅนถ้
็ฝฎไบ็ธๅบ็ๆๅกๅจ่ฎพ็ฝฎใ\n\nๆต่ฏๆถ้ด: ' + new Date().toLocaleString()
});
console.log(sendResult.content[0].text);
console.log();
console.log('โ
QQ้ฎ็ฎฑ่ชๅจ้
็ฝฎๆต่ฏๅฎๆ๏ผ');
} catch (error) {
console.error('โ QQ้ฎ็ฎฑๆต่ฏๅคฑ่ดฅ:', error.message);
}
}
// ๆต่ฏ่
พ่ฎฏไผไธ้ฎ็ฎฑ่ชๅจ้
็ฝฎ
async function testTencentEnterpriseConfig() {
console.log('\n๐ ๆต่ฏ่
พ่ฎฏไผไธ้ฎ็ฎฑ้
็ฝฎๅ่ฝ\n');
const server = new UniversalEmailMCPServer();
try {
// ่ชๅจ้
็ฝฎ่
พ่ฎฏไผไธ้ฎ็ฎฑ
console.log('๐ ้
็ฝฎ่
พ่ฎฏไผไธ้ฎ็ฎฑ (ไฝฟ็จexmail็ฑปๅ)');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const setupResult = await server.setupEmailAccount({
email: 'user@company.com', // ็คบไพไผไธ้ฎ็ฎฑๅฐๅ
password: 'your-enterprise-auth-code', // ้่ฆๅฎ้
็ไผไธ้ฎ็ฎฑๆๆ็
provider: 'exmail' // ๆๅจๆๅฎไธบ่
พ่ฎฏไผไธ้ฎ็ฎฑ
});
console.log(setupResult.content[0].text);
console.log();
// ๆฃๆต้ฎ็ฎฑ็ฑปๅ
console.log('๐ ้ช่ฏ้ฎ็ฎฑ็ฑปๅๆฃๆต');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const provider = server.detectEmailProvider('user@company.com', 'exmail');
console.log(`ๆฃๆตๅฐ็้ฎ็ฎฑ็ฑปๅ: ${provider}`);
if (provider === 'exmail') {
console.log('โ
ไผไธ้ฎ็ฎฑ็ฑปๅๆฃๆตๆญฃ็กฎ');
} else {
console.log('โ ไผไธ้ฎ็ฎฑ็ฑปๅๆฃๆตๅคฑ่ดฅ');
}
console.log();
// ่ฟๆฅๆต่ฏ (่ฟ้ไผๅ ไธบๆฒกๆ็ๅฎๆๆ็ ่ๅคฑ่ดฅ๏ผไฝ่ฝ็ๅฐ้
็ฝฎๆฏๅฆๆญฃ็กฎ)
console.log('๐ ่
พ่ฎฏไผไธ้ฎ็ฎฑ่ฟๆฅๆต่ฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
try {
const testResult = await server.testConnection({ testType: 'smtp' });
console.log(testResult.content[0].text);
// ๅฆๆ่ฟๆฅๆๅ๏ผๅ้ๆต่ฏ้ฎไปถ
console.log('๐ ่
พ่ฎฏไผไธ้ฎ็ฎฑๅ้ๆต่ฏ้ฎไปถ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sendResult = await server.sendEmail({
to: ['229637012@qq.com'],
subject: '่
พ่ฎฏไผไธ้ฎ็ฎฑ้
็ฝฎๆต่ฏ',
text: '่ฟๆฏ่
พ่ฎฏไผไธ้ฎ็ฎฑ้
็ฝฎๅ่ฝ็ๆต่ฏ้ฎไปถ๏ผ\n\n็ณป็ปๅทฒ้
็ฝฎ่
พ่ฎฏไผไธ้ฎ็ฎฑๆๅกๅจ่ฎพ็ฝฎใ\n\nๆต่ฏๆถ้ด: ' + new Date().toLocaleString()
});
console.log(sendResult.content[0].text);
console.log();
} catch (error) {
console.log(`่ฟๆฅๆต่ฏ็ปๆ: ${error.message}`);
console.log('๐ก ๆ็คบ: ่ฟๆฏ้ขๆ็๏ผๅ ไธบไฝฟ็จ็ๆฏ็คบไพๆๆ็ ');
}
console.log();
console.log('โ
่
พ่ฎฏไผไธ้ฎ็ฎฑ้
็ฝฎๆต่ฏๅฎๆ๏ผ');
} catch (error) {
console.error('โ ่
พ่ฎฏไผไธ้ฎ็ฎฑๆต่ฏๅคฑ่ดฅ:', error.message);
}
}
// ๆต่ฏ็ฝๆไผไธ้ฎ็ฎฑ่ชๅจ้
็ฝฎ
async function testNeteaseEnterpriseConfig() {
console.log('\n๐ ๆต่ฏ็ฝๆไผไธ้ฎ็ฎฑ้
็ฝฎๅ่ฝ\n');
const server = new UniversalEmailMCPServer();
try {
// ่ชๅจ้
็ฝฎ็ฝๆไผไธ้ฎ็ฎฑ
console.log('๐ ้
็ฝฎ็ฝๆไผไธ้ฎ็ฎฑ (ไฝฟ็จnetease-enterprise็ฑปๅ)');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const setupResult = await server.setupEmailAccount({
email: 'ganyizhi@mimamojp.com', // ็คบไพไผไธ้ฎ็ฎฑๅฐๅ
password: '1qaz!QAZ', // ้่ฆๅฎ้
็็ฝๆไผไธ้ฎ็ฎฑๆๆ็
provider: 'netease-enterprise' // ๆๅจๆๅฎไธบ็ฝๆไผไธ้ฎ็ฎฑ
});
console.log(setupResult.content[0].text);
console.log();
// ๆฃๆต้ฎ็ฎฑ็ฑปๅ
console.log('๐ ้ช่ฏ้ฎ็ฎฑ็ฑปๅๆฃๆต');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const provider = server.detectEmailProvider('user@enterprise.com', 'netease-enterprise');
console.log(`ๆฃๆตๅฐ็้ฎ็ฎฑ็ฑปๅ: ${provider}`);
if (provider === 'netease-enterprise') {
console.log('โ
็ฝๆไผไธ้ฎ็ฎฑ็ฑปๅๆฃๆตๆญฃ็กฎ');
} else {
console.log('โ ็ฝๆไผไธ้ฎ็ฎฑ็ฑปๅๆฃๆตๅคฑ่ดฅ');
}
console.log();
// ่ฟๆฅๆต่ฏ
console.log('๐ ็ฝๆไผไธ้ฎ็ฎฑ่ฟๆฅๆต่ฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
try {
const testResult = await server.testConnection({ testType: 'smtp' });
console.log(testResult.content[0].text);
// ๅฆๆ่ฟๆฅๆๅ๏ผๅ้ๆต่ฏ้ฎไปถ
console.log('๐ ็ฝๆไผไธ้ฎ็ฎฑๅ้ๆต่ฏ้ฎไปถ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sendResult = await server.sendEmail({
to: ['229637012@qq.com'],
subject: '็ฝๆไผไธ้ฎ็ฎฑ้
็ฝฎๆต่ฏ',
text: '่ฟๆฏ็ฝๆไผไธ้ฎ็ฎฑ้
็ฝฎๅ่ฝ็ๆต่ฏ้ฎไปถ๏ผ\n\n็ณป็ปๅทฒ้
็ฝฎ็ฝๆไผไธ้ฎ็ฎฑๆๅกๅจ่ฎพ็ฝฎใ\n\nๆต่ฏๆถ้ด: ' + new Date().toLocaleString()
});
console.log(sendResult.content[0].text);
console.log();
} catch (error) {
console.log(`่ฟๆฅๆต่ฏ็ปๆ: ${error.message}`);
console.log('๐ก ๆ็คบ: ่ฟๆฏ้ขๆ็๏ผๅ ไธบไฝฟ็จ็ๆฏ็คบไพๆๆ็ ');
}
console.log();
console.log('โ
็ฝๆไผไธ้ฎ็ฎฑ้
็ฝฎๆต่ฏๅฎๆ๏ผ');
} catch (error) {
console.error('โ ็ฝๆไผไธ้ฎ็ฎฑๆต่ฏๅคฑ่ดฅ:', error.message);
}
}
// ๆต่ฏไผไธ้ฎ็ฎฑๅบๆฏๅฏนๆฏ
async function testEnterpriseEmailComparison() {
console.log('\n๐ ไผไธ้ฎ็ฎฑ้
็ฝฎๅฏนๆฏๆต่ฏ\n');
const server = new UniversalEmailMCPServer();
console.log('๐ ไผไธ้ฎ็ฎฑvsไธชไบบ้ฎ็ฎฑ้
็ฝฎๅฏนๆฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
// ๆต่ฏๅบๆฏ1: ไผไธๅๅไฝ่
พ่ฎฏไผไธ้ฎ็ฎฑๆๅก
console.log('\n1๏ธโฃ ไผไธๅๅ + ่
พ่ฎฏไผไธ้ฎ็ฎฑๆๅก');
console.log(' ้ฎ็ฎฑ: user@mycompany.com');
console.log(' ๆๅก: ่
พ่ฎฏไผไธ้ฎ็ฎฑ (smtp.exmail.qq.com)');
console.log(' ้
็ฝฎ: EMAIL_TYPE="exmail"');
const provider1 = server.detectEmailProvider('user@mycompany.com', 'exmail');
console.log(` ๆฃๆต็ปๆ: ${provider1}`);
// ๆต่ฏๅบๆฏ2: ไผไธๅๅไฝ็ฝๆไผไธ้ฎ็ฎฑๆๅก
console.log('\n2๏ธโฃ ไผไธๅๅ + ็ฝๆไผไธ้ฎ็ฎฑๆๅก');
console.log(' ้ฎ็ฎฑ: user@myenterprise.com');
console.log(' ๆๅก: ็ฝๆไผไธ้ฎ็ฎฑ (smtphz.qiye.163.com)');
console.log(' ้
็ฝฎ: EMAIL_TYPE="netease-enterprise"');
const provider2 = server.detectEmailProvider('user@myenterprise.com', 'netease-enterprise');
console.log(` ๆฃๆต็ปๆ: ${provider2}`);
// ๆต่ฏๅบๆฏ3: ไธชไบบ้ฎ็ฎฑ่ชๅจๆฃๆต
console.log('\n3๏ธโฃ ไธชไบบ้ฎ็ฎฑ่ชๅจๆฃๆต');
console.log(' ้ฎ็ฎฑ: user@qq.com');
console.log(' ้
็ฝฎ: EMAIL_TYPE="auto" ๆไธ่ฎพ็ฝฎ');
const provider3 = server.detectEmailProvider('user@qq.com');
console.log(` ๆฃๆต็ปๆ: ${provider3}`);
console.log('\n๐ก ้่ฆๆ็คบ:');
console.log(' - ไผไธ้ฎ็ฎฑๅฟ
้กปๆๅจ่ฎพ็ฝฎ EMAIL_TYPE ๅญๆฎต');
console.log(' - ไธชไบบ้ฎ็ฎฑๅฏไปฅ่ชๅจๆฃๆต้
็ฝฎ');
console.log(' - ไผไธ้ฎ็ฎฑ็ๅๅๅๅฎ้
ๆๅกๅจ้ๅธธไธๅ');
console.log('\nโ
ไผไธ้ฎ็ฎฑๅฏนๆฏๆต่ฏๅฎๆ๏ผ');
}
// ๆต่ฏGmail้ฎ็ฎฑ่ชๅจ้
็ฝฎ
async function testGmailConfig() {
console.log('\n๐ ๆต่ฏGmail้ฎ็ฎฑ้
็ฝฎๅ่ฝ\n');
const server = new UniversalEmailMCPServer();
try {
// ่ชๅจ้
็ฝฎGmail้ฎ็ฎฑ
console.log('๐ ้
็ฝฎGmail้ฎ็ฎฑ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const setupResult = await server.setupEmailAccount({
email: 'rz851a@gmail.com', // ็คบไพGmailๅฐๅ
password: 'feqfotokepvwzdoi', // ้่ฆไฝฟ็จๅบ็จไธ็จๅฏ็
provider: 'gmail' // ๆๅจๆๅฎไธบGmail
});
console.log(setupResult.content[0].text);
console.log();
// ๆฃๆต้ฎ็ฎฑ็ฑปๅ
console.log('๐ ้ช่ฏGmail็ฑปๅๆฃๆต');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const provider = server.detectEmailProvider('user@gmail.com', 'gmail');
console.log(`ๆฃๆตๅฐ็้ฎ็ฎฑ็ฑปๅ: ${provider}`);
if (provider === 'gmail') {
console.log('โ
Gmail็ฑปๅๆฃๆตๆญฃ็กฎ');
} else {
console.log('โ Gmail็ฑปๅๆฃๆตๅคฑ่ดฅ');
}
console.log();
// ่ฟๆฅๆต่ฏ
console.log('๐ Gmail่ฟๆฅๆต่ฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
try {
const testResult = await server.testConnection({ testType: 'smtp' });
console.log(testResult.content[0].text);
// ๅฆๆ่ฟๆฅๆๅ๏ผๅ้ๆต่ฏ้ฎไปถ
console.log('๐ Gmailๅ้ๆต่ฏ้ฎไปถ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sendResult = await server.sendEmail({
to: ['229637012@qq.com'],
subject: 'Gmail้
็ฝฎๆต่ฏ',
text: '่ฟๆฏGmail้
็ฝฎๅ่ฝ็ๆต่ฏ้ฎไปถ๏ผ\n\n็ณป็ปๅทฒ้
็ฝฎGmailๆๅกๅจ่ฎพ็ฝฎใ\n\nๆต่ฏๆถ้ด: ' + new Date().toLocaleString()
});
console.log(sendResult.content[0].text);
console.log();
} catch (error) {
console.log(`่ฟๆฅๆต่ฏ็ปๆ: ${error.message}`);
console.log('๐ก ๆ็คบ: Gmail้่ฆๅบ็จไธ็จๅฏ็ ๏ผไป2025ๅนด5ๆ1ๆฅ่ตท้่ฆOAuth');
}
console.log();
console.log('โ
Gmail้
็ฝฎๆต่ฏๅฎๆ๏ผ');
} catch (error) {
console.error('โ Gmailๆต่ฏๅคฑ่ดฅ:', error.message);
}
}
// ๆต่ฏOutlook/Hotmail้ฎ็ฎฑ่ชๅจ้
็ฝฎ
async function testOutlookConfig() {
console.log('\n๐ ๆต่ฏOutlook/Hotmail้ฎ็ฎฑ้
็ฝฎๅ่ฝ\n');
const server = new UniversalEmailMCPServer();
try {
// ่ชๅจ้
็ฝฎOutlook้ฎ็ฎฑ
console.log('๐ ้
็ฝฎOutlook/Hotmail้ฎ็ฎฑ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const setupResult = await server.setupEmailAccount({
email: 'user@outlook.com', // ็คบไพOutlookๅฐๅ
password: 'your-password', // ้่ฆๅฎ้
็ๅฏ็
provider: 'outlook' // ๆๅจๆๅฎไธบOutlook
});
console.log(setupResult.content[0].text);
console.log();
// ๆต่ฏHotmailๅๅๆฃๆต
console.log('๐ ้ช่ฏHotmailๅๅๆฃๆต');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const hotmailProvider = server.detectEmailProvider('user@hotmail.com');
console.log(`Hotmailๆฃๆต็ปๆ: ${hotmailProvider}`);
const liveProvider = server.detectEmailProvider('user@live.com');
console.log(`Liveๆฃๆต็ปๆ: ${liveProvider}`);
if (hotmailProvider === 'outlook' && liveProvider === 'outlook') {
console.log('โ
Outlook็ณปๅๅๅๆฃๆตๆญฃ็กฎ');
} else {
console.log('โ Outlook็ณปๅๅๅๆฃๆตๅคฑ่ดฅ');
}
console.log();
// ่ฟๆฅๆต่ฏ
console.log('๐ Outlook่ฟๆฅๆต่ฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
try {
const testResult = await server.testConnection({ testType: 'smtp' });
console.log(testResult.content[0].text);
// ๅฆๆ่ฟๆฅๆๅ๏ผๅ้ๆต่ฏ้ฎไปถ
console.log('๐ Outlookๅ้ๆต่ฏ้ฎไปถ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sendResult = await server.sendEmail({
to: ['229637012@qq.com'],
subject: 'Outlook้
็ฝฎๆต่ฏ',
text: '่ฟๆฏOutlook้
็ฝฎๅ่ฝ็ๆต่ฏ้ฎไปถ๏ผ\n\n็ณป็ปๅทฒ้
็ฝฎOutlookๆๅกๅจ่ฎพ็ฝฎใ\n\nๆต่ฏๆถ้ด: ' + new Date().toLocaleString()
});
console.log(sendResult.content[0].text);
console.log();
} catch (error) {
console.log(`่ฟๆฅๆต่ฏ็ปๆ: ${error.message}`);
console.log('๐ก ๆ็คบ: ้่ฆๅจOutlook.com่ฎพ็ฝฎไธญๅ
่ฎธ็ฌฌไธๆนๅบ็จ่ฎฟ้ฎ');
}
console.log();
console.log('โ
Outlook้
็ฝฎๆต่ฏๅฎๆ๏ผ');
} catch (error) {
console.error('โ Outlookๆต่ฏๅคฑ่ดฅ:', error.message);
}
}
// ๆต่ฏ้ฟ้ไบ้ฎ็ฎฑ่ชๅจ้
็ฝฎ
async function testAliyunConfig() {
console.log('\n๐ ๆต่ฏ้ฟ้ไบ้ฎ็ฎฑ้
็ฝฎๅ่ฝ\n');
const server = new UniversalEmailMCPServer();
try {
// ่ชๅจ้
็ฝฎ้ฟ้ไบ้ฎ็ฎฑ
console.log('๐ ้
็ฝฎ้ฟ้ไบ้ฎ็ฎฑ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const setupResult = await server.setupEmailAccount({
email: 'user@aliyun.com', // ็คบไพ้ฟ้ไบ้ฎ็ฎฑๅฐๅ
password: 'your-auth-code', // ้่ฆๅฎ้
็ๆๆ็
provider: 'aliyun' // ๆๅจๆๅฎไธบ้ฟ้ไบ้ฎ็ฎฑ
});
console.log(setupResult.content[0].text);
console.log();
// ๆฃๆต้ฟ้ไบ็ธๅ
ณๅๅ
console.log('๐ ้ช่ฏ้ฟ้ไบ้ฎ็ฎฑๅๅๆฃๆต');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const aliyunProvider = server.detectEmailProvider('user@aliyun.com');
console.log(`้ฟ้ไบๆฃๆต็ปๆ: ${aliyunProvider}`);
const alibabaProvider = server.detectEmailProvider('user@alibaba-inc.com');
console.log(`้ฟ้ๅทดๅทดๆฃๆต็ปๆ: ${alibabaProvider}`);
if (aliyunProvider === 'aliyun' && alibabaProvider === 'aliyun') {
console.log('โ
้ฟ้ไบ็ณปๅๅๅๆฃๆตๆญฃ็กฎ');
} else {
console.log('โ ้ฟ้ไบ็ณปๅๅๅๆฃๆตๅคฑ่ดฅ');
}
console.log();
// ่ฟๆฅๆต่ฏ
console.log('๐ ้ฟ้ไบ้ฎ็ฎฑ่ฟๆฅๆต่ฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
try {
const testResult = await server.testConnection({ testType: 'smtp' });
console.log(testResult.content[0].text);
// ๅฆๆ่ฟๆฅๆๅ๏ผๅ้ๆต่ฏ้ฎไปถ
console.log('๐ ้ฟ้ไบ้ฎ็ฎฑๅ้ๆต่ฏ้ฎไปถ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sendResult = await server.sendEmail({
to: ['229637012@qq.com'],
subject: '้ฟ้ไบ้ฎ็ฎฑ้
็ฝฎๆต่ฏ',
text: '่ฟๆฏ้ฟ้ไบ้ฎ็ฎฑ้
็ฝฎๅ่ฝ็ๆต่ฏ้ฎไปถ๏ผ\n\n็ณป็ปๅทฒ้
็ฝฎ้ฟ้ไบ้ฎ็ฎฑๆๅกๅจ่ฎพ็ฝฎใ\n\nๆต่ฏๆถ้ด: ' + new Date().toLocaleString()
});
console.log(sendResult.content[0].text);
console.log();
} catch (error) {
console.log(`่ฟๆฅๆต่ฏ็ปๆ: ${error.message}`);
console.log('๐ก ๆ็คบ: ้่ฆๅจ้ฟ้ไบ้ฎ็ฎฑ่ฎพ็ฝฎไธญๅผๅฏPOP3/IMAP/SMTPๆๅก');
}
console.log();
console.log('โ
้ฟ้ไบ้ฎ็ฎฑ้
็ฝฎๆต่ฏๅฎๆ๏ผ');
} catch (error) {
console.error('โ ้ฟ้ไบ้ฎ็ฎฑๆต่ฏๅคฑ่ดฅ:', error.message);
}
}
// ๆต่ฏๆฐๆตช้ฎ็ฎฑ่ชๅจ้
็ฝฎ
async function testSinaConfig() {
console.log('\n๐ ๆต่ฏๆฐๆตช้ฎ็ฎฑ้
็ฝฎๅ่ฝ\n');
const server = new UniversalEmailMCPServer();
try {
// ่ชๅจ้
็ฝฎๆฐๆตช้ฎ็ฎฑ
console.log('๐ ้
็ฝฎๆฐๆตช้ฎ็ฎฑ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const setupResult = await server.setupEmailAccount({
email: 'user@sina.com', // ็คบไพๆฐๆตช้ฎ็ฎฑๅฐๅ
password: 'your-auth-code', // ้่ฆๅฎ้
็ๆๆ็
provider: 'sina' // ๆๅจๆๅฎไธบๆฐๆตช้ฎ็ฎฑ
});
console.log(setupResult.content[0].text);
console.log();
// ๆฃๆตๆฐๆตช็ธๅ
ณๅๅ
console.log('๐ ้ช่ฏๆฐๆตช้ฎ็ฎฑๅๅๆฃๆต');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sinaProvider = server.detectEmailProvider('user@sina.com');
console.log(`Sina.comๆฃๆต็ปๆ: ${sinaProvider}`);
const sinaCnProvider = server.detectEmailProvider('user@sina.cn');
console.log(`Sina.cnๆฃๆต็ปๆ: ${sinaCnProvider}`);
if (sinaProvider === 'sina' && sinaCnProvider === 'sina') {
console.log('โ
ๆฐๆตช็ณปๅๅๅๆฃๆตๆญฃ็กฎ');
} else {
console.log('โ ๆฐๆตช็ณปๅๅๅๆฃๆตๅคฑ่ดฅ');
}
console.log();
// ่ฟๆฅๆต่ฏ
console.log('๐ ๆฐๆตช้ฎ็ฎฑ่ฟๆฅๆต่ฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
try {
const testResult = await server.testConnection({ testType: 'smtp' });
console.log(testResult.content[0].text);
// ๅฆๆ่ฟๆฅๆๅ๏ผๅ้ๆต่ฏ้ฎไปถ
console.log('๐ ๆฐๆตช้ฎ็ฎฑๅ้ๆต่ฏ้ฎไปถ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sendResult = await server.sendEmail({
to: ['229637012@qq.com'],
subject: 'ๆฐๆตช้ฎ็ฎฑ้
็ฝฎๆต่ฏ',
text: '่ฟๆฏๆฐๆตช้ฎ็ฎฑ้
็ฝฎๅ่ฝ็ๆต่ฏ้ฎไปถ๏ผ\n\n็ณป็ปๅทฒ้
็ฝฎๆฐๆตช้ฎ็ฎฑๆๅกๅจ่ฎพ็ฝฎใ\n\nๆต่ฏๆถ้ด: ' + new Date().toLocaleString()
});
console.log(sendResult.content[0].text);
console.log();
} catch (error) {
console.log(`่ฟๆฅๆต่ฏ็ปๆ: ${error.message}`);
console.log('๐ก ๆ็คบ: ้่ฆๅจๆฐๆตช้ฎ็ฎฑ่ฎพ็ฝฎไธญๅผๅฏๅฎขๆท็ซฏๆๆ');
}
console.log();
console.log('โ
ๆฐๆตช้ฎ็ฎฑ้
็ฝฎๆต่ฏๅฎๆ๏ผ');
} catch (error) {
console.error('โ ๆฐๆตช้ฎ็ฎฑๆต่ฏๅคฑ่ดฅ:', error.message);
}
}
// ๆต่ฏๆ็้ฎ็ฎฑ่ชๅจ้
็ฝฎ
async function testSohuConfig() {
console.log('\n๐ ๆต่ฏๆ็้ฎ็ฎฑ้
็ฝฎๅ่ฝ\n');
const server = new UniversalEmailMCPServer();
try {
// ่ชๅจ้
็ฝฎๆ็้ฎ็ฎฑ
console.log('๐ ้
็ฝฎๆ็้ฎ็ฎฑ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const setupResult = await server.setupEmailAccount({
email: 'user@sohu.com', // ็คบไพๆ็้ฎ็ฎฑๅฐๅ
password: 'your-password', // ้่ฆๅฎ้
็ๅฏ็
provider: 'sohu' // ๆๅจๆๅฎไธบๆ็้ฎ็ฎฑ
});
console.log(setupResult.content[0].text);
console.log();
// ๆฃๆตๆ็ๅๅ
console.log('๐ ้ช่ฏๆ็้ฎ็ฎฑๅๅๆฃๆต');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sohuProvider = server.detectEmailProvider('user@sohu.com');
console.log(`ๆ็ๆฃๆต็ปๆ: ${sohuProvider}`);
if (sohuProvider === 'sohu') {
console.log('โ
ๆ็้ฎ็ฎฑๅๅๆฃๆตๆญฃ็กฎ');
} else {
console.log('โ ๆ็้ฎ็ฎฑๅๅๆฃๆตๅคฑ่ดฅ');
}
console.log();
// ่ฟๆฅๆต่ฏ
console.log('๐ ๆ็้ฎ็ฎฑ่ฟๆฅๆต่ฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
try {
const testResult = await server.testConnection({ testType: 'smtp' });
console.log(testResult.content[0].text);
// ๅฆๆ่ฟๆฅๆๅ๏ผๅ้ๆต่ฏ้ฎไปถ
console.log('๐ ๆ็้ฎ็ฎฑๅ้ๆต่ฏ้ฎไปถ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const sendResult = await server.sendEmail({
to: ['229637012@qq.com'],
subject: 'ๆ็้ฎ็ฎฑ้
็ฝฎๆต่ฏ',
text: '่ฟๆฏๆ็้ฎ็ฎฑ้
็ฝฎๅ่ฝ็ๆต่ฏ้ฎไปถ๏ผ\n\n็ณป็ปๅทฒ้
็ฝฎๆ็้ฎ็ฎฑๆๅกๅจ่ฎพ็ฝฎใ\n\nๆต่ฏๆถ้ด: ' + new Date().toLocaleString()
});
console.log(sendResult.content[0].text);
console.log();
} catch (error) {
console.log(`่ฟๆฅๆต่ฏ็ปๆ: ${error.message}`);
console.log('๐ก ๆ็คบ: ๆ็้ฎ็ฎฑๅฏ่ฝ้่ฆ็นๆฎ้
็ฝฎๆๅทฒๅๆญข็ฌฌไธๆนๅฎขๆท็ซฏๆฏๆ');
}
console.log();
console.log('โ
ๆ็้ฎ็ฎฑ้
็ฝฎๆต่ฏๅฎๆ๏ผ');
} catch (error) {
console.error('โ ๆ็้ฎ็ฎฑๆต่ฏๅคฑ่ดฅ:', error.message);
}
}
// ๆต่ฏๆๆ้ฎ็ฎฑๆๅกๅ้
็ฝฎๅฏนๆฏ
async function testAllProvidersComparison() {
console.log('\n๐ ๆๆ้ฎ็ฎฑๆๅกๅ้
็ฝฎๅฏนๆฏๆต่ฏ\n');
const server = new UniversalEmailMCPServer();
console.log('๐ ๆฏๆ็้ฎ็ฎฑๆๅกๅ่ชๅจๆฃๆตๅฏนๆฏ');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
const testEmails = [
{ email: 'user@163.com', expected: '163', name: '็ฝๆ้ฎ็ฎฑ' },
{ email: 'user@qq.com', expected: 'qq', name: 'QQ้ฎ็ฎฑ' },
{ email: 'user@gmail.com', expected: 'gmail', name: 'Gmail' },
{ email: 'user@outlook.com', expected: 'outlook', name: 'Outlook' },
{ email: 'user@hotmail.com', expected: 'outlook', name: 'Hotmail' },
{ email: 'user@live.com', expected: 'outlook', name: 'Live' },
{ email: 'user@exmail.qq.com', expected: 'exmail', name: '่
พ่ฎฏไผไธ้ฎ็ฎฑ' },
{ email: 'user@aliyun.com', expected: 'aliyun', name: '้ฟ้ไบ้ฎ็ฎฑ' },
{ email: 'user@sina.com', expected: 'sina', name: 'ๆฐๆตช้ฎ็ฎฑ' },
{ email: 'user@sina.cn', expected: 'sina', name: 'ๆฐๆตช้ฎ็ฎฑCN' },
{ email: 'user@sohu.com', expected: 'sohu', name: 'ๆ็้ฎ็ฎฑ' },
{ email: 'user@126.com', expected: '163', name: '็ฝๆ126้ฎ็ฎฑ' },
{ email: 'user@yeah.net', expected: '163', name: '็ฝๆYeah้ฎ็ฎฑ' }
];
let passCount = 0;
let totalCount = testEmails.length;
for (const { email, expected, name } of testEmails) {
const detected = server.detectEmailProvider(email);
const status = detected === expected ? 'โ
' : 'โ';
console.log(`${status} ${name.padEnd(12)} | ${email.padEnd(20)} | ๆๆ: ${expected.padEnd(10)} | ๆฃๆต: ${detected || 'null'}`);
if (detected === expected) {
passCount++;
}
}
console.log('\n๐ ๆฃๆต็ป่ฎก');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
console.log(`โ
ๆๅ: ${passCount}/${totalCount}`);
console.log(`โ ๅคฑ่ดฅ: ${totalCount - passCount}/${totalCount}`);
console.log(`๐ ๆๅ็: ${((passCount / totalCount) * 100).toFixed(1)}%`);
console.log('\n๐ก ้่ฆๆ็คบ:');
console.log(' - ไธชไบบ้ฎ็ฎฑๅฏไปฅ่ชๅจๆฃๆต้
็ฝฎ');
console.log(' - ไผไธ้ฎ็ฎฑ้่ฆๆๅจ่ฎพ็ฝฎ EMAIL_TYPE ๅญๆฎต');
console.log(' - ๆๆ้ฎ็ฎฑ้ฝ้่ฆๅผๅฏ็ธๅบ็ๅฎขๆท็ซฏ่ฎฟ้ฎๆ้');
console.log(' - Gmailๅไผไธ้ฎ็ฎฑๅฏ่ฝ้่ฆ็นๆฎ็่ฎค่ฏๆนๅผ');
console.log('\nโ
ๆๆ้ฎ็ฎฑๆๅกๅๅฏนๆฏๆต่ฏๅฎๆ๏ผ');
}
// ่ฟ่กๆๆๆต่ฏ
async function runAllTests() {
await testAutoConfig();
await testQQAutoConfig();
await testTencentEnterpriseConfig();
await testNeteaseEnterpriseConfig();
await testEnterpriseEmailComparison();
// ๆฐๅข็้ฎ็ฎฑๆต่ฏ
await testGmailConfig();
await testOutlookConfig();
await testAliyunConfig();
await testSinaConfig();
await testSohuConfig();
// ็ปผๅๅฏนๆฏๆต่ฏ
await testAllProvidersComparison();
}
// runAllTests().catch(console.error);
testSohuConfig().catch(console.error);