2012-02-02 23 views
5

tôi đã nhận lỗi này khi cố gắng gửi email sử dụng smtp:chuỗi Ngôn ngữ không tải: from_failed [from_email_address]

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

Dưới đây là mã của tôi:

$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; 
        } 

Làm thế nào tôi có thể sửa chữa nó?

+0

xử lý cùng một vấn đề. Bất kì giải pháp nào? – oneofakind

Trả lời

7

Điều này thường có nghĩa là lớp phpMailer của bạn không thể tìm thấy tệp ngôn ngữ khi nó đang cố gắng nhổ ra một thư.

Cách dễ nhất để sửa lỗi này là để thiết lập ngôn ngữ bằng tay bao gồm đường dẫn đến thư mục ngôn ngữ:

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

Đó là trong thư mục ngôn ngữ của bạn. Hoặc bạn có thể chỉ cần trỏ phương thức SetLanguage của mình vào nguồn này:

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

Không có thư mục 'include/phpMailer/language /' trên máy chủ. Tôi có cần tạo nó không? –

+0

Bỏ ghi chú dòng thứ 2 của bạn. '// $ mail-> SetLanguage ('en', dirname (__ FILE__). '/ phpmailer/language /');' – Mob

+0

Tôi đã thử nhưng không có may mắn. –

0

Nếu bạn đang sử dụng SMTP, hãy kiểm tra tên người dùng và mật khẩu SMTP của bạn. Tôi đã có cùng một vấn đề mật khẩu gmail đã được cập nhật bởi khách hàng.

Các vấn đề liên quan