Envío de correos con php

Buen día, necesito enviar formurarios por correo desde mi portal el código que uso es
" mail ($mail_envio[$x],$subject,$html,$header);"
El problema es que cambio el correo a donde debe llegar este formulario y ahora no recibe los envíos, me imagino que necesito autentificar el emisor, si alguien me puede ayudar a solucionar mi problema, se los agradeceré mucho.

1 Respuesta

Respuesta
1
La función mail usa el servidor smtp predeterminado que este configurado en el webserver,
Proba usandp php mailer, es un conjunto de librerías que debes colocar en un directorio, incluir la librería principal, y luego usarla. Te pongo un ejemplo de como usarla. En esta debes configurar el servidor de salida, el usuario y la clave, tal como lo harías en cualquier cliente de correo.
Las librerías las puedes descargar de
http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.0.0/PHPMailer_v5.0.0.zip/download
Espero te sirva.
Saludos.
<?
require_once "class.phpmailer.php";
function sendmail($name,$email,$to,$subject,$body,$filenames)
{
    $mail = new phpmailer();
    $mail->PluginDir = "ruta de las librerias";
    $mail->Mailer = "smtp";
    $mail->Host = "ip o nombre del servidor smtp";
    $mail->SMTPAuth = true;
    $mail->Username = "usuario para acceder al servidor smtp";
    $mail->Password = "clave del ";
    $mail->From = "$email";
    $mail->FromName = "$name";
    $mail->Timeout=30;
    foreach ($to as $To)
    {
        if ($To!="") $mail->AddAddress($To);
    }
    $mail->Subject = "$subject";
    $mail->Body = "$body";
    $mail->AltBody = "";
    foreach ($filenames as $filename) {
        $fileinfo = pathinfo($filename);
        $mail->AddAttachment($filename,$fileinfo["filename"].".".$fileinfo["extension"]);
    }
    $exito = $mail->Send();
    $intentos=1;
    while ((!$exito) && ($intentos < 5)) {
    sleep(5);
        //echo $mail->ErrorInfo;
        $exito = $mail->Send();
        $intentos=$intentos+1;    
    }
    if(!$exito)
    {
        echo "\nProblemas enviando correo electrónico a ".$valor;
        echo "\n".$mail->ErrorInfo."\n";    
        return false;
    }
    else
    {
        echo "\nMensaje enviado correctamente\n";
        return true;
    }
}
?>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas