За последние 24 часа нас посетили 17585 программистов и 1311 роботов. Сейчас ищут 897 программистов ...

Отправка письма с вложениями!

Тема в разделе "Работа с почтой", создана пользователем ARACOOL, 15 дек 2010.

  1. ARACOOL

    ARACOOL Активный пользователь

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    Не могу разобраться в заголовках. Письмо приходит без вложения! Целый день потратил на мануалы и поискам информации. Все не подходит!
    PHP:
    1.  
    2. <?php
    3. function send_mail() {
    4.     $img = chunk_split(base64_encode(file_get_contents('ajax.gif')));
    5.     $msg = "sdfbnnfgnasd asdf asdf asdf";
    6.     $boundary = "".strtoupper(md5(uniqid(rand())));
    7.    
    8.     $headers = "Date: ". date('D, d M Y h:i:s O') ."\r\n";
    9.     $headers .= "From: [email=somemail2@mail.com]somemail2@mail.com[/email]\\rn";
    10.     $headers .= "X-Priority: 3\r\n";
    11.     $headers .= "Message-ID: <".md5(uniqid(time()))."@mail.com>\r\n";
    12.     $headers .= "MIME-Version: 1.0\r\n";
    13.     $headers .= "X-Mailer: PHP ".phpversion()."\r\n";
    14.     $headers .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";
    15.     $str = "--".$boundary."\r\n";
    16.     $str .= "Content-Type: text/plain; charset=utf-8\r\n";
    17.     $str .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
    18.     $str .= $msg."\r\n\r\n";
    19.     $str .= "--".$boundary."\r\n";
    20.     $str .= "Content-Type: image/gif;\n name=\"ajax.gif\"\r\n";
    21.     $str .= "Content-Disposition: attachment;\n filename=\"ajax.gif\"\r\n";
    22.     $str .= "Content-Transfer-Encoding: base64\r\n\r\n";
    23.     $str .= $img."\r\n";
    24.     $str .= "--".$boundary."--";
    25.  
    26.    
    27.     $subject = "Hello";
    28.  
    29.     mail([email='somebody@sdf.ru]'somebody@sdf.ru[/email]', $subject, $str, $headers);
    30.  
    31. }
    32. send_mail();
    33. ?>
    34.  
     
  2. ARACOOL

    ARACOOL Активный пользователь

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    Кто нибудь сталкивался с такой проблемой?
     
  3. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    PHP:
    1. <?
    2. function send_mail($to,$from_mail,$from_name,$subject,$message,$file_name) {
    3.   $bound="1234";
    4.   $header="From: $from_name <$from_mail>\n";
    5.   $header.="To: $to\n";
    6.   $header.="Subject: $subject\n";
    7.   $header.="MIME-Version: 1.0\n";
    8.   $header.="Content-Type: multipart/mixed; boundary=$bound\n";
    9.   $body="--$bound\n";
    10.   $body.="Content-type: text/html; charset=\"windows-1251\"\n";
    11.   $body.="Content-Transfer-Encoding: quoted-printable\n\n";
    12.   $body.="$message";
    13.   $file=file_get_contents($file_name);
    14.   $body.="\n\n--$bound\n";
    15.   $body.="Content-Type: application/octet-stream; ";
    16.   $body.="name=".basename($file_name)."\n";
    17.   $body.="Content-Transfer-Encoding:base64\n";
    18.   $body.="Content-Disposition:attachment\n\n";
    19.   $body.=base64_encode($file)."\n";
    20.   $body.="$bound--\n\n";
    21.   if(mail($to, $subject, $body, $header)) {
    22.     echo "<center>Письмо было успешно отправлено!</center>";
    23.   } else {
    24.     echo "<center>Сообщение не отправлено!</center>";
    25.   };
    26. };
    27. ?>