Здравствуйте! Посылаю почту с прикреплением к ней xml и jpg файлов. xml приходит на почту а jpg нет. Вот код: Код (Text): <?php // Класс для отправки почтовых сообщений class Mailer { var $subject; // (string) Тема var $text; // (string) Текст сообщения (txt-вариант) var $html; // (string) Текст сообщения (html-вариант) var $from; // (string) От кого var $to; // (string) Кому var $charset; // (string) Кодировка (по умолчанию Windows-1251) var $sHeaders; // (string) var $sBody; // (string) var $sContentType; // (string) var $sHtmlTemplate; // (string) var $sBoundary; // (string) var $aAttaches; // (array) // Конструктор класса function Mailer() { $this->charset = 'Windows-1251'; $this->aAttaches = array(); $this->sBoundary = '----'.substr(md5(uniqid(rand(),true)),0,16); $this->sHtmlTemplate = '<html><head><title>{title}</title></head><body>{body}</body></html>'; } // Добавить заголовок function DoHeader($sHeader) { $this->sHeaders .= $sHeader."\r\n"; } // Прикрепить файл function Attach($sPath,$mimeType) { if (file_exists($sPath)) { $sName=basename($sPath); $sAttach ="Content-Type: $mimeType; name=\"$sName\"\r\n"; $sAttach.="Content-Disposition: attachment; filename=\"$sName\"\r\n"; $sAttach.="Content-Transfer-Encoding: base64\r\n"; $sAttach.="\r\n"; $sAttach.=base64_encode(file_get_contents($sPath))."\r\n"; $this->aAttaches[] = $sAttach; } } // Добавить HTML function AddHtml($sHtml) { $this->html.=$sHtml."\r\n"; } // Установить шаблон function SetTemplate($sPath) { if (file_exists($sPath)) $this->sHtmlTemplate = file_get_contents($sPath); } // Отправить function Send() { $iCountAtt=count($this->aAttaches); $this->sHeaders ="From: {$this->from}\r\n"; $this->sHeaders.="MIME-Version: 1.0\r\n"; if (!$this->html && !$iCountAtt) { $this->sHeaders.='Content-Type: text/plain; charset='.$this->charset."\r\n"; $this->sBody = $this->text; } elseif ($this->html && !$iCountAtt) { $this->sHeaders.='Content-Type: text/html; charset='.$this->charset."\r\n"; $aFields=array(); $aFields['{title}'] = $this->subject; $aFields['{body}'] = $this->html; $this->sBody = strtr($this->sHtmlTemplate,$aFields); } elseif (!$this->html && $iCountAtt) { $this->sHeaders.="Content-Type: multipart/mixed; boundary=\"{$this->sBoundary}\"\r\n"; foreach ($this->aAttaches as $sAttach) { $this->sBody .= "--{$this->sBoundary}\r\n"; $this->sBody .= $sAttach; } $this->sBody .= "--{$this->sBoundary}--\r\n"; } elseif ($this->html && $iCountAtt) { $this->sHeaders.="Content-Type: multipart/mixed; boundary=\"{$this->sBoundary}\"\r\n"; $this->sBody .= "--{$this->sBoundary}\r\n"; $this->sBody .= "Content-Type: text/html; charset={$this->charset}\r\n"; $this->sBody .= "Content-Transfer-Encoding: 8bit\r\n"; $this->sBody .= "\r\n"; $aFields=array(); $aFields['{title}'] = $this->subject; $aFields['{body}'] = $this->html; $this->sBody .= strtr($this->sHtmlTemplate,$aFields); foreach ($this->aAttaches as $sAttach) { $this->sBody .= "--{$this->sBoundary}\r\n"; $this->sBody .= $sAttach; } $this->sBody .= "--{$this->sBoundary}--\r\n"; } @mail($this->to, $this->subject, $this->sBody, $this->sHeaders); } } // End of class Mailer $number_phone = "xxx xx xxxx"; $email = "mymail@email.com"; $Message = new Mailer(); $Message->from = 'Ot Menya <ot@menya.ru>'; $Message->to = 'harapaevaa@sibmail.com'; $Message->subject = 'Форма одежды'; $Message->charset = 'Windows-1251'; $Message->html = '<br /><p><h4>Контактная информация:</h4></p> <p>телефон: '.$number_phone.'<br />email: '.$email.'</p>'; $Message->Attach('038.jpg','image/jpg'); $Message->Attach('xmldate_clothes.xml','application/xml'); $Message->Send(); ?> При этом выдает такое сообщение в почте: Код (Text): Форма одежды Контактная информация: телефон: xxx xx xxxx email: mymail@email.com------84f87f2a5ebdb473 Content-Type: image/gif; name="038.jpg" Content-Disposition: attachment; filename="038.jpg" Content-Transfer-Encoding: base64 R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7 При этом еще и проблема с кодировкой вылазит. Причем почему не понимаю, потому что кодировка windows-1251 указана. Если я делаю три вложения к тексту, то первое не доходит, а второе и третье доходит. Что тут не так? Помогите пожалуйста.
а это я описался когда набирал текст. Вообще там image/jpg. первое вложение не доходит в любом случае, а как я понимаю отображается в виде такоф ерунды Код (Text): R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7