Cómo enviar correo SMTP autenticado con PHP
Despues de recibir varias dudas vuestras de como enviar un correo autenticado desde PHP, os hemos pegado un fragmento de codigo simple para realizar el envio. Como muy bien nos indica nuestro amigo Pablo Enjuto mas abajo, aqui teneis un enlace a las clases phpmailer.php y smtp.php que se importan en el codigo.
http://sourceforge.net/project/showfiles.php?group_id=26031
Elegid la version que mas se adecue a vuestro Php y listo, es muy sencillo de utilizar y esperamos que os sea de mucha utilidad.
require(‘class.phpmailer.php’);
require(‘class.smtp.php’);
$nombre = $_POST["nombre"];
$telefono = $_POST["telefono"];
$mail = new PHPMailer();
$body = “Hola es una prueba”;
$body .=”ojalá funcione”;
$mail->IsSMTP();
/* Sustituye (ServidorDeCorreoSMTP) por el host de tu servidor de correo SMTP*/
$mail->Host = “ServidorDeCorreoSMTP”;
/* Sustituye ( CuentaDeEnvio ) por la cuenta desde la que deseas enviar por ejem. prueba@domitienda.com */
$mail->From = “CuentaDeEnvio”;
$mail->FromName = “Domitienda”;
$mail->Subject = “prueba de envio”;
$mail->AltBody = “prueba”;
$mail->MsgHTML($body);
/* Sustituye (CuentaDestino ) por la cuenta a la que deseas enviar por ejem. admin@domitienda.com */
$mail->AddAddress(“CuentaDestino”, “Domitienda”);
$mail->SMTPAuth = true;
/* Sustituye (CuentaDeEnvio ) por la misma cuenta que usaste en la parte superior en este caso prueba@domitienda.com y sustituye (ContraseñaDeEnvio) por la contraseña que tenga dicha cuenta */
$mail->Username = “CuentaDeEnvio”;
$mail->Password = “ContraseñaDeEnvio”;
if(!$mail->Send()) {
echo “Mailer Error: ” . $mail->ErrorInfo;
} else {
echo “Message sent!”;
}
Saludos.





Buenas.
Pongo yo el enlace para descargar las clases a las que se cargan al principio del código:
http://sourceforge.net/project/showfiles.php?group_id=26031
Un saludo
Buenas,
Quisiera hacer una pregunta, se puede enviar actualmente un correo desde un foro del tipo phpbb3, con la funcion mail, o tengo que usar esto???, es que me encuentro el siguiente problema al enviar correos desde el foro:
[phpBB Debug] PHP Notice: in file /includes/functions_messenger.php on line 416: mail() [function.mail]: SMTP server response: 550 Requested action not taken: mailbox unavailable or not local
Espero sus noticias, muchas gracias por adelantado.
saludos.
Pues me temo que si, ya que la funcion mail() no requiere autenticacion y nuestro servidor si.
Saludos.
Muchas gracias!! Un aporte de gran utilidad!!!
creé un formulario con este código y me sale el siguiente error, no se si esté cometiendo una brutalidad:
Fatal error: Call to a member function IsSMTP() on a non-object in D:\Hosting\7082618\html\formulario.php on line 281
Hola,
¿donde puedo configurar los valores: Content-Type: text/html; charset=utf-8\r\n ?
Es que usando este codigo los caracteres latinos (ñ, Ñ, á, ó) no llegan correctamente.
Un saludo
ya solucionado… tenia que settar el archivo class.phpmailer.php
Muchas gracias
Lo malo de este sistema es que ultimamente se ha tornado lento, al momento del envio, del resto muy bien
Buenas,
He modificado las dns de mi domino en el panel plesk para que mail.midominio.com se dirija a un servidor de correo externo. Yo puedo utilizar el servidor de correo de mi hosting entrando a través de “mail.businet-isp.com” ya que mail.midominio.com ya no apunta a el, pero este código ya no me funciona apuntando directamente a “mail.businet-isp.com”, ¿por qué?
El código autentica correctamente, pero me devuelve un error 501 5.7.1 del servidor.
Gracias
gfdgdhfghfg