Omezení na počet adres v hlavičce mailů z testwebu
Není úplně žádoucí, aby se v mailu z testwebu poslala spousta adres, protože je to náchylné na automatické zpracování v případě, že se k takovému mailu dostane někdo další.
This commit is contained in:
		
							parent
							
								
									1dd51afb11
								
							
						
					
					
						commit
						cfdbcc8ee1
					
				
					 1 changed files with 11 additions and 3 deletions
				
			
		|  | @ -7,6 +7,11 @@ Used to distinguish testing emails from production ones.""" | ||||||
| from django.core.mail.backends.smtp import EmailBackend as DjangoSMTPBackend | from django.core.mail.backends.smtp import EmailBackend as DjangoSMTPBackend | ||||||
| from django.conf import settings | from django.conf import settings | ||||||
| 
 | 
 | ||||||
|  | def omezovatko_poctu_mailu(maily:list, maximum:int) -> str: | ||||||
|  | 	if len(maily) <= maximum: return str(maily) | ||||||
|  | 	# Aspoň zhruba simulujeme tisk pole… | ||||||
|  | 	return '[' + ", ".join(f"'{mail}'" for mail in maily[:maximum - 1]) + f', … ({len(maily)} e-mailů) ]' | ||||||
|  | 
 | ||||||
| class PrefixingMailBackend(DjangoSMTPBackend): | class PrefixingMailBackend(DjangoSMTPBackend): | ||||||
| 	# method _send is not probably meant to be monkey_patched, so we patch send_messages instead. | 	# method _send is not probably meant to be monkey_patched, so we patch send_messages instead. | ||||||
| 	def send_messages(self, messages): | 	def send_messages(self, messages): | ||||||
|  | @ -16,10 +21,13 @@ class PrefixingMailBackend(DjangoSMTPBackend): | ||||||
| 
 | 
 | ||||||
| 			if message.from_email != settings.SERVER_EMAIL: | 			if message.from_email != settings.SERVER_EMAIL: | ||||||
| 				message.subject = prefix + ' ' + message.subject | 				message.subject = prefix + ' ' + message.subject | ||||||
|  | 				to = omezovatko_poctu_mailu(message.to, 3) | ||||||
|  | 				cc = omezovatko_poctu_mailu(message.cc, 3) | ||||||
|  | 				bcc = omezovatko_poctu_mailu(message.bcc, 3) | ||||||
| 				message.body = f"""Bylo by posláno na e-maily: | 				message.body = f"""Bylo by posláno na e-maily: | ||||||
| 	To: {message.to} | 	To: {to} | ||||||
| 	Cc: {message.cc} | 	Cc: {cc} | ||||||
| 	Bcc: {message.bcc} | 	Bcc: {bcc} | ||||||
| """+ "\n\n" + message.body | """+ "\n\n" + message.body | ||||||
| 				message.to = settings.TESTOVACI_EMAILOVA_KONFERENCE | 				message.to = settings.TESTOVACI_EMAILOVA_KONFERENCE | ||||||
| 				message.cc = [] | 				message.cc = [] | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Pavel "LEdoian" Turinsky
						Pavel "LEdoian" Turinsky