fix E-Mail notifications
This commit is contained in:
		
							
								
								
									
										44
									
								
								arr_api/management/commands/send_test_email.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								arr_api/management/commands/send_test_email.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| from django.core.management.base import BaseCommand | ||||
| from django.contrib.auth import get_user_model | ||||
| from django.utils import timezone | ||||
|  | ||||
| from arr_api.notifications import send_notification_email | ||||
|  | ||||
|  | ||||
| class Command(BaseCommand): | ||||
|     help = "Send a test notification email to verify SMTP configuration" | ||||
|  | ||||
|     def add_arguments(self, parser): | ||||
|         parser.add_argument('--to', required=True, help='Recipient email address') | ||||
|         parser.add_argument('--username', default='testuser', help='Username to associate with the email') | ||||
|         parser.add_argument('--type', default='movie', choices=['movie', 'series'], help='Media type for the template') | ||||
|         parser.add_argument('--title', default='Subscribarr Test', help='Title to show in the email') | ||||
|  | ||||
|     def handle(self, *args, **opts): | ||||
|         User = get_user_model() | ||||
|         email = opts['to'] | ||||
|         username = opts['username'] | ||||
|         media_type = opts['type'] | ||||
|         title = opts['title'] | ||||
|  | ||||
|         user, _ = User.objects.get_or_create(username=username, defaults={'email': email}) | ||||
|         if user.email != email: | ||||
|             user.email = email | ||||
|             user.save(update_fields=['email']) | ||||
|  | ||||
|         # Use current time as air_date for nicer formatting | ||||
|         send_notification_email( | ||||
|             user=user, | ||||
|             media_title=title, | ||||
|             media_type=media_type, | ||||
|             overview='This is a test email from Subscribarr to verify your mail settings.', | ||||
|             poster_url=None, | ||||
|             episode_title='Pilot' if media_type == 'series' else None, | ||||
|             season=1 if media_type == 'series' else None, | ||||
|             episode=1 if media_type == 'series' else None, | ||||
|             air_date=timezone.now(), | ||||
|             year=timezone.now().year if media_type == 'movie' else None, | ||||
|             release_type='Test' | ||||
|         ) | ||||
|  | ||||
|         self.stdout.write(self.style.SUCCESS(f"Test email queued/sent to {email}")) | ||||
		Reference in New Issue
	
	Block a user