2011-08-13 10 views
11

Mi código envía varios mensajes en bucle con el accesorio,CodeIgniter: adjunto de correo electrónico de los últimos mensajes de correo electrónico no se aclaró al enviar varios correos electrónicos en bucle

El problema es que los archivos adjuntos de correos electrónicos últimos (todos) anteriores se vinculan con el próximo correo electrónico.

ex. supongamos 3 mensajes de correo electrónico en la base de datos con 1 de fijación en cada uno (a1.pdf, a2.pdf, a3.pdf) entonces, envía correo electrónico con datos adjuntos como

de correo electrónico 1:

adjunto: a1.pdf

email 2:

adjunto: a1.pdf, a2.pdf

email 3:

adjunto: a1.pdf, a2.pdf, a3.pdf

Estoy usando codeigniter framework.

Mi código es (este código es llamado en bucle)

. . .

$ this-> email-> subject ($ item-> subject);

 $this->email->message($message); 
     $attachments=''; 
     if(strlen($item->attachment) > 5) 
     { 
      $attachments = explode(',', $item->attachment); 
      foreach($attachments as $attachment) 
      { 
       if(strlen($attachment)>5) 
       $this->email->attach(FCPATH . 'attachments/' . $attachment);      
      }     

     } 

     $this->email->send(); 

. . .

+4

solución encontrada: $ this-> email-> clear (TRUE); – anils

Respuesta

12

Debe usar $this->email->clear(); para eliminar las variables establecidas en el ciclo. Read the manual.

16

Debe restablecerlo en CodeIgniter.

Al final del complemento bucle:

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

Esto restablece todas las variables de correo electrónico, incluyendo los archivos adjuntos, lo que permite crear un nuevo correo.

+0

Gracias, MaartenC89 – anils

+0

Esto funciona pero en mi caso, no adjunta archivo en el último ciclo. – Kentot

Cuestiones relacionadas