119e870a26
- Added FINAL-STATUS.md detailing project completion and key metrics - Created QUICK-REFERENCE.md for quick access to essential documents - Updated README.md with project overview and quick start guide - Established STRUCTURE.md outlining the final documentation structure - Organized and archived old files, ensuring a clean and efficient directory - Enhanced documentation quality with comprehensive metrics and checklists
3.7 KiB
3.7 KiB
راهنمای پیکربندی Email و SMS
تنظیمات Email (Gmail)
مرحله 1: ایجاد App Password در Gmail
- به Google Account Security بروید
- گزینه "2-Step Verification" را فعال کنید
- به بخش "App passwords" بروید
- یک App Password جدید با نام "FourSat CMS" ایجاد کنید
- پسورد 16 رقمی را در
appsettings.Production.jsonدر فیلدSmtpPasswordقرار دهید
مرحله 2: تنظیم appsettings.Production.json
"Email": {
"Enabled": true,
"SmtpHost": "smtp.gmail.com",
"SmtpPort": 587,
"SmtpUsername": "your-email@gmail.com", // ایمیل Gmail خود
"SmtpPassword": "your-16-digit-app-password", // App Password از مرحله 1
"FromEmail": "noreply@foursat.com", // ایمیل فرستنده (میتواند همان Gmail باشد)
"FromName": "FourSat CMS",
"EnableSsl": true
}
سایر سرویسهای SMTP:
Outlook/Microsoft 365:
"SmtpHost": "smtp.office365.com",
"SmtpPort": 587
Yahoo Mail:
"SmtpHost": "smtp.mail.yahoo.com",
"SmtpPort": 587
تنظیمات SMS (کاوه نگار)
مرحله 1: ثبتنام در کاوه نگار
- به Kavenegar.com بروید
- ثبتنام کنید و حساب خود را تأیید کنید
- از پنل، API Key خود را کپی کنید
مرحله 2: تنظیم appsettings.Production.json
"Sms": {
"Enabled": true,
"Provider": "Kavenegar",
"KavenegarApiKey": "YOUR_KAVENEGAR_API_KEY", // API Key از پنل کاوه نگار
"Sender": "10008663" // شماره ارسالکننده (از پنل کاوه نگار)
}
نکات مهم:
- شماره
Senderباید از پنل کاوه نگار تهیه شود - برای تست میتوانید از شمارههای رایگان استفاده کنید
- هزینه هر پیامک بسته به نوع خط متفاوت است
تست کردن
تست Email:
# در محیط Development
curl -X POST "http://localhost:5133/api/admin/trigger-weekly-calculation"
تست SMS:
همان دستور بالا را اجرا کنید. سیستم به صورت خودکار:
- Email ارسال میکند (اگر User.Email پر باشد)
- SMS ارسال میکند (اگر User.Mobile پر باشد)
بررسی Log ها:
# در ترمینال سرویس CMS
# پیامهای زیر را مشاهده کنید:
# 📧 Email sent to {Email}: {Subject}
# 📱 SMS sent to {PhoneNumber}: {MessageId}
امنیت
⚠️ مهم:
- فایل
appsettings.Production.jsonرا به Git اضافه نکنید - از Environment Variables یا Azure Key Vault استفاده کنید
- API Key ها را هرگز در کد سورس قرار ندهید
استفاده از Environment Variables:
# Linux/Mac
export Email__SmtpPassword="your-app-password"
export Sms__KavenegarApiKey="your-api-key"
# Windows
set Email__SmtpPassword=your-app-password
set Sms__KavenegarApiKey=your-api-key
خطایابی (Troubleshooting)
Email ارسال نمیشود:
- App Password را صحیح وارد کردهاید؟
- 2-Step Verification در Gmail فعال است؟
- Port 587 باز است؟
EnableSsl: trueتنظیم شده؟
SMS ارسال نمیشود:
- API Key صحیح است؟
- اعتبار حساب کاوه نگار کافی است؟
- شماره
Senderمعتبر است؟ - فرمت شماره موبایل صحیح است؟ (09xxxxxxxxx)
Log ها را بررسی کنید:
tail -f /tmp/cms_run.log