
Después de pasar largas horas investigando como se puede enviar un correo mediante php sin utilizar la función
mail(), que tiene más complicación a la hora de dar formato al mensaje y utilizar adjuntos, llegué a phpmailer como la librería ideal para realizarlo.
phpmailerPor desgracia en mi caso no he podido conseguirlo, a pesar de poder configurar bien el uso de openssl, siguiendo las instrucciones del primer comentario de esta página:
Openssl en phpFinalmente he encontrado otra librería llamada SwiftMailer, que hace lo mismo que phpmailer y que me ha funcionado a la primera.
SwiftmailerBásicamente, puedo enviar un correo a través de gmail y o de cualquier otro servidor que utilice autencicación TSL o SSL y los puertos 465 o 587 mediante esta pequeña secuencia de código:
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";
$smtp =& new Swift_Connection_SMTP("smtp.gmail.com", Swift_Connection_SMTP::PORT_SECURE, Swift_Connection_SMTP::ENC_TLS);
$smtp->setUsername("miusuario");
$smtp->setpassword("miclave");
$swift =& new Swift($smtp);
$message =& new Swift_Message("Prueba", "Prueba");
if ($swift->send($message, "prueba@gmail.com", "prueba@gmail.com")) echo "Funciona";
else echo "Algo raro ha pasado";
Espero que esto le sea de ayuda a alguien y se ahorre unos buenos ratitos.
Ahora sólo queda empezar a profundizar en las capacidades de formato que proporciona swiftmailer. Aquí hay una lista de las ventajas que ellos indican en su página web:
- Persistent connectivity improves performance
- Connection types selected by user - extendable
- Complete header control with RFC 2822 requirements handled
- Internationalization support (i18n)
- Connection redundancy support
- Load balancing and/or throttling support
- SSL & TLS Support - for Gmail servers
- Embedded images or other file types
- Full MIME 1.0 library included (create multipart messages, attachments etc)
- Batch mail processing
- Smart runtime caching (in small, self-maintained packets)
- Send attachments of any size even with PHP's 8MB Memory Limit
- Support for multiple attachments
- Lossless protection against header injection (encode, don't strip)
- Set message priority
- Request read receipts
- Pluggable SMTP authentication (LOGIN, PLAIN, MD5-CRAM, POP Before SMTP)
- Anti-flooding support for servers with limits on emails-per-connection
- Bandwidth monitor included
- Extensive event-driven plugin support (easy to write)
No está mal.