2012-02-02 21 views
5

tengo este error al intentar enviar un correo electrónico a través de SMTP:cadena de Lenguaje No se pudo cargar: from_failed [from_email_address]

Language string failed to load: from_failed**[email protected]** 

Aquí está mi código:

$mail = new PHPMailer(); 
        //$mail->SetLanguage('en',dirname(__FILE__) . '/phpmailer/language/'); 
        $SMTP_Host = "smtp.gmail.com"; 
        $SMTP_Port = 465; 
        $mail->SMTPSecure = 'ssl'; 

        $SMTP_UserName = "[email protected]"; 
        $SMTP_Password = "****"; 
        $from = "[email protected]"; 
        $fromName = "My Name"; 
        $to = "[email protected]"; 

        $mail->IsSMTP(); 
        $mail->Host  = $SMTP_Host; 
        $mail->SMTPAuth = true; 


        $mail->Username = $SMTP_UserName; 
        $mail->Password = $SMTP_Password; 

        $mail->From  = "[email protected]"; 
        $mail->FromName = "From Name"; 
        $mail->AddAddress("[email protected]"); 
        $mail->AddReplyTo($from, $fromName); 

        $mail->IsHTML(true); 

        $mail->Subject = "This is an message from our website"; 
        $mail->Body  = $design; 

        if(!$mail->Send()) 
        { 

         echo "Error : " . $mail->ErrorInfo; 
         exit; 
        } 

¿Cómo puedo solucionarlo?

+0

con el mismo problema. ¿Alguna solución? – oneofakind

Respuesta

7

Esto generalmente significa que su clase phpMailer no puede encontrar el archivo de idioma cuando está tratando de escupir un mensaje.

La manera más fácil de solucionar este problema es establecer el idioma, incluyendo la ruta de la carpeta de idioma manualmente:

$mail = new PHPMailer(); 
$mail->SetLanguage("en", 'includes/phpMailer/language/'); 

Está en la carpeta de idioma. O simplemente puede apuntar su método SetLanguage a esta fuente:

1 <?php 
    2 /** 
    3 * PHPMailer language file. 
    4 * English Version 
    5 */ 
    6 
    7 $PHPMAILER_LANG = array(); 
    8 
    9 $PHPMAILER_LANG["provide_address"] = 'You must provide at least one ' . 
    10          'recipient email address.'; 
    11 $PHPMAILER_LANG["mailer_not_supported"] = ' mailer is not supported.'; 
    12 $PHPMAILER_LANG["execute"] = 'Could not execute: '; 
    13 $PHPMAILER_LANG["instantiate"] = 'Could not instantiate mail function.'; 
    14 $PHPMAILER_LANG["authenticate"] = 'SMTP Error: Could not authenticate.'; 
    15 $PHPMAILER_LANG["from_failed"] = 'The following From address failed: '; 
    16 $PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: The following ' . 
    17           'recipients failed: '; 
    18 $PHPMAILER_LANG["data_not_accepted"] = 'SMTP Error: Data not accepted.'; 
    19 $PHPMAILER_LANG["connect_host"] = 'SMTP Error: Could not connect to SMTP host.'; 
    20 $PHPMAILER_LANG["file_access"] = 'Could not access file: '; 
    21 $PHPMAILER_LANG["file_open"] = 'File Error: Could not open file: '; 
    22 $PHPMAILER_LANG["encoding"] = 'Unknown encoding: '; 
    23 ?> 
+1

No hay una carpeta 'includes/phpMailer/language /' en el host. ¿Necesito crearlo? –

+0

Descomenta tu segunda línea. '// $ mail-> SetLanguage ('en', dirname (__ FILE__). '/ phpmailer/language /');' – Mob

+0

Lo intenté pero no tuve suerte. –

0

Si está utilizando SMTP verificar su nombre de usuario y la contraseña SMTP. Tuve el mismo problema. La contraseña de gmail fue actualizada por el cliente.

Cuestiones relacionadas