---
name: SMTPConfig
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type SMTPConfig struct {
      Host     string
      Port     int
      Username string
      Password string
      TLSMode  string
  }
description: "Parametros de conexion a un servidor SMTP. TLSMode controla el cifrado: 'tls' (port 465), 'starttls' (port 587) o '' sin cifrado (port 25)."
tags: [email, smtp, config, tls]
uses_types: []
file_path: "functions/infra/email_types.go"
---

## Ejemplo

```go
cfg := SMTPConfig{
    Host:     "smtp.gmail.com",
    Port:     587,
    Username: "user@gmail.com",
    Password: "app-password",
    TLSMode:  "starttls",
}
```

## Notas

Tipo producto. `TLSMode` debe ser `"tls"`, `"starttls"` o `""`. Por convencion: port 465 usa TLS directo, 587 usa STARTTLS, 25 sin cifrado. Para Gmail y proveedores modernos usar `"starttls"` en port 587 o `"tls"` en 465.
