Instalador universal de sistema de emails para VPS usando Postfix + Resend. Compatible con cualquier servidor Ubuntu/Debian, con o sin CloudPanel.
- ✅ Instalación en 2 minutos - Un solo comando
- ✅ Completamente automático - Detecta CloudPanel, PHP, etc.
- ✅ Universal - Funciona en Hetzner, DigitalOcean, AWS, etc.
- ✅ Modo interactivo y no-interactivo - Usa variables de entorno
- ✅ Configura automáticamente PHP - Todas las versiones detectadas
- ✅ Scripts de prueba incluidos - Verifica que todo funcione
- ✅ 3,000 emails gratis/mes con Resend
- ✅ Excelente deliverability - No más emails en spam
Después de instalar, CUALQUIER aplicación en tu VPS podrá enviar emails:
- WordPress: Verificaciones, recuperación de contraseña, Contact Form 7, WooCommerce
- Laravel/Symfony: Notificaciones, verificaciones de registro
- Plugins: Códigos de verificación, notificaciones
- Scripts PHP: Función
mail()funcionará automáticamente
curl -sSL https://raw.githubusercontent.com/veyralbasgroup/vps-email-setup/main/install.sh | sudo bashEl script te pedirá:
- API Key de Resend
- Email remitente
- Hostname (opcional)
curl -sSL https://raw.githubusercontent.com/veyralbasgroup/vps-email-setup/main/install.sh | \
sudo RESEND_API_KEY="re_xxxxx" \
FROM_EMAIL="noreply@tudominio.com" \
bashgit clone https://github.com/veyralbasgroup/vps-email-setup.git
cd vps-email-setup
sudo bash install.sh- Servidor VPS con Ubuntu 20.04+ o Debian 11+
- Acceso root o sudo
- Cuenta en Resend (gratis): https://resend.com/signup
- API Key de Resend: Créala en https://resend.com/api-keys
- (Opcional) Dominio verificado en Resend para mejor deliverability
- Regístrate en Resend
- Ve a API Keys → Create API Key
- Dale un nombre descriptivo (ej: "VPS-Production")
- Copia tu API Key (formato:
re_xxxxxxxxxxxxx)
Para mejor deliverability:
- Ve a Resend Domains
- Añade tu dominio
- Configura los registros DNS que te proporcionen
# Descarga y ejecuta
curl -sSL https://raw.githubusercontent.com/veyralabsgroup/vps-email-setup/main/install.sh | sudo bash# Enviar email de prueba
bash /root/test_email.sh tu-email@gmail.com
# Ver logs
tail -f /var/log/mail.log
# Verificar configuración
bash /root/verify_email.shcurl -sSL https://raw.githubusercontent.com/veyralabsgroup/vps-email-setup/main/install.sh | sudo bash# En tu script de provisioning
export RESEND_API_KEY="re_41DfAfqe_9xXHH3EVs6ifYceRbwEDC8VT"
export FROM_EMAIL="noreply@midominio.com"
export HOSTNAME="servidor.midominio.com"
curl -sSL https://raw.githubusercontent.com/veyralbasgroup/vps-email-setup/main/install.sh | sudo bashTerraform:
resource "null_resource" "email_setup" {
provisioner "remote-exec" {
inline = [
"curl -sSL https://raw.githubusercontent.com/veyralabsgroup/vps-email-setup/main/install.sh | RESEND_API_KEY='${var.resend_api_key}' FROM_EMAIL='${var.from_email}' bash"
]
}
}Ansible:
- name: Install email system
shell: |
curl -sSL https://raw.githubusercontent.com/veyralabsgroup/vps-email-setup/main/install.sh | \
RESEND_API_KEY="{{ resend_api_key }}" \
FROM_EMAIL="{{ from_email }}" \
bash
become: yesEl script realiza automáticamente:
- ✅ Detecta el sistema operativo (Ubuntu/Debian)
- ✅ Detecta CloudPanel si está instalado
- ✅ Detecta todas las versiones PHP instaladas
- ✅ Instala Postfix con configuración automática
- ✅ Configura Resend como relay SMTP
- ✅ Configura PHP en todas las versiones detectadas
- ✅ Reinicia servicios (Postfix, PHP-FPM, Nginx/Apache)
- ✅ Crea scripts de prueba para verificar el funcionamiento
- ✅ Genera logs detallados de todo el proceso
Después de la instalación:
| Archivo | Descripción |
|---|---|
/etc/postfix/main.cf |
Configuración de Postfix |
/etc/postfix/main.cf.backup |
Backup de configuración original |
/etc/postfix/sasl_passwd |
Credenciales de Resend |
/etc/postfix/generic |
Mapeo de remitentes |
/root/test_email.sh |
Script de prueba (línea de comandos) |
/root/test_email.php |
Script de prueba PHP |
/root/verify_email.sh |
Script de verificación |
/var/log/email-installer.log |
Log de instalación |
/var/log/mail.log |
Log de Postfix |
-
Verifica logs:
tail -f /var/log/mail.log
-
Verifica que Postfix esté activo:
systemctl status postfix
-
Verifica configuración PHP:
php -i | grep sendmail_path # Debería mostrar: sendmail_path => /usr/sbin/sendmail -t
-
Prueba conectividad con Resend:
telnet smtp.resend.com 587
- Verifica que tu API Key sea correcta en
/etc/postfix/sasl_passwd - Asegúrate de que el dominio esté verificado en Resend
- Verifica firewall:
ufw status - Asegúrate de que el puerto 587 esté abierto
-
Verifica configuración:
php -i | grep sendmail_path -
Reinicia PHP-FPM:
systemctl restart php*-fpm
Para actualizar la configuración o cambiar credenciales:
# Opción 1: Volver a ejecutar el instalador
curl -sSL https://raw.githubusercontent.com/veyralbasgroup/vps-email-setup/main/install.sh | \
sudo RESEND_API_KEY="nueva_api_key" \
FROM_EMAIL="nuevo-email@dominio.com" \
bash
# Opción 2: Editar manualmente
sudo nano /etc/postfix/sasl_passwd
# Cambiar la API Key
sudo postmap /etc/postfix/sasl_passwd
sudo systemctl restart postfix# Detener Postfix
sudo systemctl stop postfix
sudo systemctl disable postfix
# Eliminar Postfix
sudo apt-get remove --purge postfix libsasl2-modules
# Eliminar archivos de configuración
sudo rm -rf /etc/postfix
sudo rm /root/test_email.sh /root/test_email.php /root/verify_email.sh- ✅ 3,000 emails/mes
- ✅ Todos los features
- ✅ API completa
- Pro: Desde $20/mes - 50,000 emails
- Enterprise: Contactar ventas
- ✅ Ubuntu 20.04 LTS
- ✅ Ubuntu 22.04 LTS
- ✅ Ubuntu 24.04 LTS
- ✅ Debian 11 (Bullseye)
- ✅ Debian 12 (Bookworm)
- ✅ CloudPanel
- ✅ Sin panel (servidor limpio)
⚠️ cPanel (no probado, debería funcionar)⚠️ Plesk (no probado, debería funcionar)
- ✅ Hetzner
- ✅ DigitalOcean
- ✅ AWS EC2
- ✅ Linode
- ✅ Vultr
- ✅ OVH
- ✅ Contabo
- ✅ Cualquier VPS con Ubuntu/Debian
- ✅ Credenciales almacenadas con permisos 600
- ✅ Conexión TLS/SSL con Resend
- ✅ No se almacenan credenciales en logs
- ✅ Backup automático de configuraciones originales
¡Las contribuciones son bienvenidas!
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
- ✨ Lanzamiento inicial
- ✅ Soporte para Ubuntu 20.04+
- ✅ Soporte para Debian 11+
- ✅ Detección automática de CloudPanel
- ✅ Configuración automática de PHP
- ✅ Modo interactivo y no-interactivo
- ✅ Scripts de prueba incluidos
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
Tu Nombre / Veyra Labs
- GitHub: @veyralbasgroup
- Website: https://veyralabs.com
Si este proyecto te ayudó, ¡dale una estrella en GitHub! ⭐
- Resend - Por su excelente servicio de email
- Postfix - Por el MTA robusto
- CloudPanel - Por el panel de control
¿Necesitas ayuda?
- 🐛 Abre un issue
- 💬 Discusiones
- 📧 Email: servidores@veyralabs.com
Hecho con ❤️ para la comunidad de desarrolladores
Si te ahorra tiempo, considera invitarme un café ☕