Bu proje, PHP kullanarak Microsoft 365/Office 365 SMTP yapılandırması ve OAuth2 ile e-posta işlemlerini yönetmenizi sağlar.
- ✅ OAuth2 yetkilendirme desteği
- ✅ SMTP üzerinden e-posta gönderme
- ✅ Microsoft Graph API entegrasyonu
- ✅ HTML mail desteği
- ✅ Dosya eki desteği
- ✅ Mail okuma ve arama işlemleri
- ✅ Token yenileme mekanizması
- ✅ Hata yönetimi
- Azure Portal'da yeni bir uygulama kaydı oluşturun
- Aşağıdaki OAuth2 izinlerini ekleyin:
- SMTP.Send
- Mail.Read
- Mail.Send
- Redirect URI'ı yapılandırın
- Client ID ve Client Secret bilgilerini alın
composer require league/oauth2-client thenetworg/oauth2-azure phpmailer/phpmailer
config.php
dosyasını kendi bilgilerinizle güncelleyin:
define('CLIENT_ID', 'your_client_id');
define('CLIENT_SECRET', 'your_client_secret');
define('TENANT_ID', 'your_tenant_id');
define('REDIRECT_URI', 'your_redirect_uri');
O365Integration/
├── composer.json # Paket bağımlılıkları
├── config.php # Yapılandırma sabitleri
├── auth.php # OAuth2 yetkilendirme
├── mailer.php # E-posta gönderme işlemleri
├── mail_reader.php # E-posta okuma işlemleri
├── callback.php # OAuth2 callback işleyici
└── index.php # Ana uygulama
// E-posta gönderme örneği
require 'mailer.php';
$mailer = new O365Mailer();
$mailer->send(
'alici@ornek.com',
'Test Mesajı',
'Merhaba, bu bir test mesajıdır.',
['ek.pdf']
);
- PHP 7.4 veya üzeri
- Composer
- SSL sertifikası
- Microsoft 365/Office 365 hesabı
- Repoyu klonlayın
git clone https://github.com/onder7/O365Integration.git
- Bağımlılıkları yükleyin
composer install
- Yapılandırma dosyasını oluşturun
cp config.example.php config.php
- Yapılandırma bilgilerini güncelleyin
Uygulama şu hata durumlarını yönetir:
- 🔴 Yetkilendirme hataları
- 🔴 SMTP bağlantı hataları
- 🔴 Token yenileme hataları
- 🔴 API istekleri hataları
- ✨ İlk sürüm
- ✨ OAuth2 entegrasyonu
- ✨ SMTP desteği
- ✨ Graph API entegrasyonu
Important
- Client Secret'ı güvenli bir şekilde saklayın
- HTTPS kullanın
- Token'ları güvenli bir şekilde depolayın
- Rate limiting uygulayın
- 📧 E-posta: [onder7@gmail.com]
- 🌐 GitHub: [github.com/onder7]
Bu proje MIT lisansı altında lisanslanmıştır.
- Fork edin
- Feature branch oluşturun (
git checkout -b yeni-ozellik
) - Değişikliklerinizi commit edin (
git commit -am 'Yeni özellik eklendi'
) - Branch'inizi push edin (
git push origin yeni-ozellik
) - Pull Request oluşturun
$mailer->sendHTML(
'alici@firma.com',
'Toplantı Daveti',
'<h1>Toplantı Daveti</h1><p>Yarın saat 10:00...</p>'
);
$reader->getInboxMessages([
'filter' => 'received gt 2024-02-01',
'top' => 10
]);
Note
Daha fazla örnek için Wiki sayfamızı ziyaret edin.
Teknik destek için onder7@gmail.com iletişime geçin. Önder AKÖZ / System & Network Specialist