En múltiples ocasiones había tenido la oportunidad de implementar sitios web con formularios de contacto en GoDaddy sin inconvenientes, pero en uno de los últimos sitios que he desarrollado se presentó un problema que me iba dando bastante trabajo para averiguar el porqué no enviaba un email desde el formulario de contacto, algo que en condiciones normales haría.
Todo empezó, como comento arriba, con un formulario de contacto que no enviaba los respectivos mensajes y con el sistema gestor de contenidos Joomla (bastante conocido por todos); cabe aclarar que no acostumbro usar el sistema de formularios de contacto que Joomla trae por defecto, pero nunca había tenido problemas con él, así que ahí empezó la odisea.
Al principio, pensé que el servicio de email de GoDaddy estaba caído o algo así, así que esperé un poco y nada sucedió, por lo tanto, decidí escribir al servicio de soporte de GoDaddy y la respuesta que dieron fue algo plana y sin mayor explicación: todo está funcionando bien. Así que pensé que tal vez había tenido errores a la hora de subir el gestor de contenidos (porque como indiqué, nunca había tenido problemas con los formularios en GoDaddy). Y volví a hacer las pruebas y: Nada. Revisé la información de la función phpinfo() de PHP y vi que todo estaba bien excepto por una cosa: Se me había pasado por alto ver el sistema operativo del plan que mi cliente había adquirido: Microsoft Windows Server.
No es que considere a Windows un mal sistema operativo, sino que es bastante problemático a la hora de hacer las veces de servidor (y creo que en el escritorio pasa algo parecido), así que asumí que la función mail de PHP no estaba habilitada en el paquete, así que decidí probar con otra opción: Sendmail, y para ello para de una vez por todas terminar con el problema escribí a GoDaddy para que me indicaran la ruta de Sendmail para ejecutarlo desde el script y poder enviar los correos (la ruta por defecto en Linux es /usr/sbin/sendmail y por obvias razones esa ruta no funciona en Windows); la respuesta por parte del servicio al cliente fue bastante odiosa: Utilice los formularios prediseñados de GoDaddy!!! Cómo? cómo es posible que un proveedor como GoDaddy esté dando respuestas de ese estilo? en fin, respiré profundo y ponerme manos a la obra, ya que nunca un formlario de contacto me había tomado tanto tiempo.
Seguí investigando, y encontré en la configuración de phpinfo que GoDaddy usaba en Windows el sistema SMTP con una URL bastante particular y decidí probar suerte con la configuración por SMTP:
Mailer: SMTP Server
Mail from: miemail@miservidor.com (Acá va un email DEBE existir en GoDaddy)
From Name: VCS (Nombre de la compañía, a decir verdad, cualquier cosa está bien)
Sendmail Path: /usr/sbin/sendmail (Este dato es totalmente irrelevante)
SMTP Authentication: No
SMTP Security: None
SMTP Port: 25
SMTP Username: email@miservidor.com (lo mismo que arriba)
SMTP Password: (Vacío, no se debe escribir nada)
SMTP Host: relay-hosting.secureserver.net
Y voilà, ha funcionado. No es por nada pero definitivamente esta odisea hubiese sido evitable si el equipo de GoDaddy me hubiese indicado desde un principio que en los planes con Windows solo funciona SMTP y me hubieran dado la URL (que por cierto, tuve que averiguarla manualmente).
En conclusión, GoDaddy puede ser un proveedor de hosting muy popular pero tiene múltiples restricciones de un tipo u otro que sea por seguridad o sea por negligencia hacen difícil la labor de desarrollo web. Por ahora he recomendado a mis cliente un servicio que he probado y ha sido excelente, y que he direccionado a: http://virtual-consulting.duoservers.com/ pruébenlo y me cuentan.
Espero haberles ahorrado trabajo, y por último agrego que lo anterior también aplica para las implementaciones en el lenguaje ASP y ASP.Net.