2017-02-22 3 views
0

Je rencontre un problème lors de la soumission d'un e-mail via une boucle. Je reçois un nom d'utilisateur différent en format html et en texte brut.Nom différent en html et en texte brut lors de la soumission d'un e-mail

Ceci est mon contrôleur rapport de fonction () {

$this->load->model('Searchmonitoring_db'); 
    $results = $this->Searchmonitoring_db->getLogs(); 

    if (!$results) 
      return false; 

    $this->load->library('email'); 
    $config['mailtype'] = 'html'; 
    $this->email->initialize($config); 

    foreach ($results as $result) { 

     $fname = $result['fname']; 
     $username = $result['username']; 
     $subject_keyword = $result['grpname']; 

     if ($subject_keyword == "") { 

      $findfields['clientid'] = $result['clientid']; 
      $findfields['grouping'] = $result['grouping']; 
      $keywords = $this->Searchmonitoring_db->getKeywords($findfields); 

      if ($keywords['db']) { 
       foreach ($keywords['db'] as $kw) { 
        if ($subject_keyword != "") 
          $subject_keyword .= ", "; 
        $subject_keyword .= $kw['query']; 
       } 
      } 
     } 

     $this->email->clear(TRUE); 

     $managerEmail = $result['manager_email']; 
     $manager = $result['manager']; 
     $salespersonEmail = $result['salesperson_email']; 
     $salesperson = $result['salesperson']; 
     $clientEmail = $result['email']; 

     if($managerEmail) { 
      $this->email->from($managerEmail, $manager); 
     } elseif($salespersonEmail) { 
      $this->email->from($salespersonEmail, $salesperson); 
     } 

     $this->email->to($clientEmail); 


     $arrfname = explode("/", $fname); 
     $subject = "Your $subject_keyword monitoring report"; 
     $this->email->subject($subject); 
     $message = $this->load->view('emailtemplate', $result, true); 
     $this->email->message($message); 
     $this->email->attach("../export/$username/" . end($arrfname) . ".zip"); 

     if ($this->email->send()) { 
      $update['id'] = $result['logid']; 
      $searchlog['result'] = 'Sent'; 
      $this->Searchmonitoring_db->updateLog($update, $searchlog); 
     } 
    } 
} 

Ceci est mon email modèle

<html> 
<body> 

<p>Hi <?php echo $firstname; ?></p> 
<p>Thanks for your business!</p> 
<p> 
<?php 
if($manager) { 
    echo nl2br($manager_email_signature); 
} elseif($salesperson) { 
    echo nl2br($salesperson_email_signature); 
} ?> 
</p> 
</body> 
</html> 

J'utilise aussi cachet de la poste pour surveiller mes e-mails et quand je clique sur l'e-mail au format HTML obtenir le nom correct, mais quand j'ai cliqué sur le format de texte brut, il a le nom incorrect.

exemple: html: dit "Salut Jack merci pour votre entreprise". texte brut: dit "Salut anderson merci pour votre entreprise".

je remarquai que le texte brut obtient le nom du premier e-mail en boucle

Répondre