Projekt Node.js implementujący klasę ExchangeMailbox do wysyłania wiadomości email przez Microsoft Graph API.
sendMailnpm install
npm start
Mail.Send - do wysyłania emaili w imieniu aplikacjiUwaga: Używamy uwierzytelniania aplikacji (Client Credentials flow), które pozwala aplikacji działać bez logowania użytkownika, ale wymaga uprawnień administratora.
Z sekcji Overview skopiuj:
Skopiuj plik .env i wypełnij następujące wartości:
# MS Graph API Configuration
AZURE_CLIENT_ID=your_client_id_here
AZURE_CLIENT_SECRET=your_client_secret_here
AZURE_TENANT_ID=your_tenant_id_here
SENDER_EMAIL=your_sender_email@yourdomain.com
TEST_RECIPIENT_EMAIL=test_recipient@example.com
import { ExchangeMailbox } from './ExchangeMailbox.js'
const mailbox = new ExchangeMailbox()
// Wysłanie prostego emaila
const result = await mailbox.sendMail({
to: 'odbiorca@example.com',
subject: 'Temat wiadomości',
body: 'Treść wiadomości'
})
if (result.success) {
console.log('Email wysłany pomyślnie!')
} else {
console.error('Błąd:', result.message)
}
await mailbox.sendMail({
to: 'odbiorca@example.com',
subject: 'Email z HTML',
body: '<h1>Witaj!</h1><p>To jest <strong>HTML</strong> email.</p>',
bodyType: 'HTML'
})
await mailbox.sendMail({
to: 'odbiorca@example.com',
subject: 'Email z załącznikiem',
body: 'Zobacz załącznik w załączniku',
attachments: [
{
name: 'dokument.pdf',
contentBytes: 'base64_encoded_file_content',
contentType: 'application/pdf'
}
]
})
const isConnected = await mailbox.testConnection()
if (isConnected) {
console.log('Połączenie z MS Graph API działa!')
}
Uwaga: Test połączenia sprawdza czy można uzyskać token dostępu z Azure AD. Nie wymaga dodatkowych uprawnień API.
# Uruchomienie testów
npm start
# lub bezpośrednio
node main.js
exchange-mailbox-nodejs/
├── 📄 ExchangeMailbox.js # Główna klasa do wysyłania emaili
├── 📄 main.js # Testy i przykłady użycia
├── 📄 package.json # Konfiguracja NPM i zależności
├── 📄 .env # Zmienne środowiskowe (konfiguracja)
├── 📄 .gitignore # Wykluczenia Git (chroni .env)
├── 📄 README.md # Dokumentacja (ten plik)
└── 📁 .github/
└── 📄 copilot-instructions.md # Instrukcje dla Copilot
Mail.Send i zostało zatwierdzone przez administratora@azure/msal-node - Uwierzytelnianie Microsoft Authentication Library@microsoft/microsoft-graph-client - Klient MS Graph APIdotenv - Ładowanie zmiennych środowiskowychMIT License - możesz swobodnie używać, modyfikować i dystrybuować ten kod.
Jeśli napotkasz problemy:
.envawait mailbox.testConnection()📧 Miłego wysyłania emaili z ExchangeMailbox! 🚀