2016-04-06 5 views
0

Я пытаюсь отправить по электронной почте usingcake PHP здесь кодОтправка электронной почты с вложением в CakePHP файл реального пути

$data = "RSIMT7210;RSIMT7220"; 

     $email = new CakeEmail(); 
     $var = ROOT; 
     $var = str_replace("api", "", $var); 

     $attachments = array(); 

     $myArray = explode(';', $data); 
     foreach($myArray as $sku) 
     {      
      $result = $this->Ring->find('first', array('conditions'=>array('sku'=>$sku))); 
      $ring = $result['Ring']; 

      $ringItems = explode(' ', $ring['name']);    
      $styleNumber = $ringItems[0]; 

      $mAttach = $var . "rings/" . "$styleNumber/image/white.jpg";      
      $email->attachments($mAttach);      
     } 

Но это, кажется, добавляя только одно вложения. В любом случае я могу прикрепить несколько файлов?

ответ

0

Хорошо, основная проблема заключалась в том, что все вложения имели одинаковое имя. Я должен был поместить разные имена, чтобы заставить его работать. Теперь я использую это

$attachments[$styleNumber . ".jpg"] = array(
              'file' => $mAttach, 
              'mimetype' => 'image/png', 
              'contentId' => $styleNumber 
             ); 
0

метод attachments() позволяет добавить массив пути изображения. Измените исходный код следующим образом:

$data = "RSIMT7210;RSIMT7220"; 
    $email = new CakeEmail(); 
    $var = ROOT; 
    $var = str_replace("api", "", $var); 

    $attachments = array(); 

    $myArray = explode(';', $data); 
    foreach($myArray as $sku) 
    {      
     $result = $this->Ring->find('first', array('conditions'=>array('sku'=>$sku))); 
     $ring = $result['Ring']; 

     $ringItems = explode(' ', $ring['name']);    
     $styleNumber = $ringItems[0]; 

     $mAttach = $var . "rings/" . "$styleNumber/image/white.jpg"; 
     $attachments[] = $mAttach;       
    } 
    $email->attachments($attachments); 
+0

попробовал это уже, отправляет одно приложение тоже. –

+0

'print_r()' ваш массив '$ attachments' и проверьте значения, чтобы код выглядел нормально. – om1

+0

@WayNe ["\/home \/thevowaa \/public_html \/brandstore \/rings \/DFWR0109 \/image \ /white.jpg", "\/home \/thevowaa \/public_html \/brandstore \/rings \ /DFWR6537\/image\/white.jpg "] это массив –

Смежные вопросы