Refactor: Externaliza configuración de MailSettings a archivo .env
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Optimized Build and Deploy / remote-build-and-deploy (push) Successful in 6m31s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Optimized Build and Deploy / remote-build-and-deploy (push) Successful in 6m31s
				
			Para mejorar la seguridad y seguir las mejores prácticas, se ha externalizado la configuración sensible de `MailSettings` (credenciales SMTP) del archivo `appsettings.json` a un archivo `.env` no versionado.
### Cambios Realizados
- **Implementación de .env:**
    - Se ha creado un archivo `.env` en la raíz del proyecto para almacenar las variables de entorno relacionadas con el servicio de correo.
    - Se ha añadido el paquete NuGet `DotNetEnv` al proyecto para permitir la carga de este archivo.
- **Modificación del Arranque:**
    - Se ha modificado `Program.cs` para que cargue las variables del archivo `.env` al inicio de la aplicación, haciéndolas disponibles para el sistema de configuración de .NET.
- **Limpieza de `appsettings.json`:**
    - Se han eliminado los valores sensibles (usuario, contraseña, etc.) de la sección `MailSettings` en `appsettings.json`. El archivo ahora sirve como plantilla de la estructura de configuración sin exponer credenciales.
			
			
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -19,9 +19,6 @@ lerna-debug.log* | |||||||
|  |  | ||||||
| # Variables de entorno | # Variables de entorno | ||||||
| # ------------------------------- | # ------------------------------- | ||||||
| # Nunca subas tus claves de API, contraseñas de BD, etc. |  | ||||||
| # Crea un archivo .env.example con las variables vacías para guiar a otros desarrolladores. |  | ||||||
| .env |  | ||||||
| .env.local | .env.local | ||||||
| .env.development.local | .env.development.local | ||||||
| .env.test.local | .env.test.local | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								Backend/GestionIntegral.Api/.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								Backend/GestionIntegral.Api/.env
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | # ================================================ | ||||||
|  | # VARIABLES DE ENTORNO PARA LA CONFIGURACIÓN DE CORREO | ||||||
|  | # ================================================ | ||||||
|  | # El separador de doble guion bajo (__) se usa para mapear la jerarquía del JSON. | ||||||
|  | # MailSettings:SmtpHost se convierte en MailSettings__SmtpHost | ||||||
|  |  | ||||||
|  | MailSettings__SmtpHost="mail.eldia.com" | ||||||
|  | MailSettings__SmtpPort=587 | ||||||
|  | MailSettings__SenderName="Club - Diario El Día" | ||||||
|  | MailSettings__SenderEmail="alertas@eldia.com" | ||||||
|  | MailSettings__SmtpUser="alertas@eldia.com" | ||||||
|  | MailSettings__SmtpPass="@Alertas713550@" | ||||||
| @@ -9,6 +9,7 @@ | |||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="9.0.0" /> |     <PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="9.0.0" /> | ||||||
|     <PackageReference Include="Dapper" Version="2.1.66" /> |     <PackageReference Include="Dapper" Version="2.1.66" /> | ||||||
|  |     <PackageReference Include="DotNetEnv" Version="3.1.1" /> | ||||||
|     <PackageReference Include="MailKit" Version="4.13.0" /> |     <PackageReference Include="MailKit" Version="4.13.0" /> | ||||||
|     <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.4" /> |     <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.4" /> | ||||||
|     <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.3" /> |     <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.3" /> | ||||||
|   | |||||||
| @@ -24,6 +24,10 @@ using GestionIntegral.Api.Models.Comunicaciones; | |||||||
| using GestionIntegral.Api.Services.Comunicaciones; | using GestionIntegral.Api.Services.Comunicaciones; | ||||||
| using GestionIntegral.Api.Data.Repositories.Comunicaciones; | using GestionIntegral.Api.Data.Repositories.Comunicaciones; | ||||||
|  |  | ||||||
|  | // Carga las variables de entorno desde el archivo .env al inicio de la aplicación. | ||||||
|  | // Debe ser la primera línea para que la configuración esté disponible para el 'builder'. | ||||||
|  | DotNetEnv.Env.Load(); | ||||||
|  |  | ||||||
| var builder = WebApplication.CreateBuilder(args); | var builder = WebApplication.CreateBuilder(args); | ||||||
|  |  | ||||||
| // --- Registros de Servicios --- | // --- Registros de Servicios --- | ||||||
|   | |||||||
| @@ -16,11 +16,11 @@ | |||||||
|   }, |   }, | ||||||
|   "AllowedHosts": "*", |   "AllowedHosts": "*", | ||||||
|   "MailSettings": { |   "MailSettings": { | ||||||
|   "SmtpHost": "mail.eldia.com", |     "SmtpHost": "", | ||||||
|   "SmtpPort": 587, |     "SmtpPort": 0, | ||||||
|   "SenderName": "Club - Diario El Día", |     "SenderName": "", | ||||||
|   "SenderEmail": "alertas@eldia.com", |     "SenderEmail": "", | ||||||
|   "SmtpUser": "alertas@eldia.com", |     "SmtpUser": "", | ||||||
|   "SmtpPass": "@Alertas713550@" |     "SmtpPass": "" | ||||||
| } |   } | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user