:: Документация по раскрутке :: Шаблоны карт :: Скачать игры :: MP3 бесплатно ::

PHP script. Source code free downloadЛистинги почтовых скриптов на PHP. Почтовая система на php. Отправка почты с веб сервера с использованием PHP скрипта с выбором кодировки, присоединением аттачей. Отправка почты с web-сайта в текстовом формате и в html формате с использованием фунции mime.,Почтовый клиент на php - личная рассылка с использованием скриптов. MIME. Mail Header.

Почтовая рассылка. Скрипт на PHP

Программы и скрипты на php для отправки и получения почты

(c) Antonio.        http://web-raskrutka.narod.ru

makRo: добавлено пара функций для отправки картинок в HTML'е

<?
// Функции. Можно вынести в дpугой файл.
 
class html_mime_mail {
  var 
$headers
  var 
$multipart
  var 
$mime
  var 
$html
  var 
$parts = array(); 
  var 
$images = array(); /*makRo: Добавлен, массив картинок*/

function html_mime_mail($headers="") { //MIME and mail header
    
$this->headers=$headers


function 
add_html($html="") { 
    
$this->html.=$html


function 
build_html($orig_boundary,$kod) { 
    
$this->multipart.="--$orig_boundary\n"
    if (
$kod=='w' || $kod=='win' || $kod=='windows-1251'$kod='windows-1251';
    else 
$kod='koi8-r';
    
$this->multipart.="Content-Type: text/html; charset=$kod\n"
    
$this->multipart.="BCC: del@ipo.spb.ru\n";
    
$this->multipart.="Content-Transfer-Encoding: Quot-Printed\n\n"
    
$this->multipart.="$this->html\n\n"



function 
add_attachment($path=""$name ""$c_type="application/octet-stream") { 
    if (!
file_exists($path.$name)) {
      print 
"File $path.$name dosn't exist.";
      return;
    }
    
$fp=fopen($path.$name,"r");
    if (!
$fp) {
      print 
"File $path.$name coudn't be read.";
      return;
    } 
    
$file=fread($fpfilesize($path.$name));
    
fclose($fp);
    
$this->parts[]=array("body"=>$file"name"=>$name,"c_type"=>$c_type); 



function 
build_part($i) { 
    
$message_part=""
    
$message_part.="Content-Type: ".$this->parts[$i]["c_type"]; 
    if (
$this->parts[$i]["name"]!=""
       
$message_part.="; name = \"".$this->parts[$i]["name"]."\"\n"
    else 
       
$message_part.="\n"
    
$message_part.="Content-Transfer-Encoding: base64\n"
    
$message_part.="Content-Disposition: attachment; filename = \"".
       
$this->parts[$i]["name"]."\"\n\n"
    
$message_part.=chunk_split(base64_encode($this->parts[$i]["body"]))."\n";
    return 
$message_part


function 
build_message($kod) { 
    
$boundary="=_".md5(uniqid(time())); 
    
$this->headers.="MIME-Version: 1.0\n"
    
$this->headers.="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"
    
$this->multipart=""
    
$this->multipart.="This is a MIME encoded message.\n\n"
    for (
$i=(count($this->parts)-1); $i>=0$i--)
      
$this->multipart.="--$boundary\n".$this->build_part($i); 

    
/* makRo: Добавлен FOR, обработка картинок */
    
for ($i=(count($this->images)-1); $i>=0$i--) {
        
$this->multipart.="--$boundary\n".$this->build_image($i); 
        
$this->html str_replace("{".$this->images[$i]["html_name"]."}""cid:".$this->images[$i]["content_id"], $this->html);
    }

    
$this->build_html($boundary,$kod); 
    
$this->mime "$this->multipart--$boundary--\n"


function 
send($server$to$from$subject=""$headers="") { 

    
$headers="To: $to\nFrom: $from\nSubject: $subject\nX-Mailer: The Mouse!\n$headers";
    
$fp fsockopen($server25, &$errno, &$errstr30);
    if (!
$fp)
       die(
"Server $server. Connection failed: $errno, $errstr");
    
fputs($fp,"HELO $server\n");
    
fputs($fp,"MAIL FROM: $from\n");
    
fputs($fp,"RCPT TO: $to\n");
    
fputs($fp,"DATA\n");
    
fputs($fp,$this->headers);
    if (
strlen($headers))
      
fputs($fp,"$headers\n");
    
fputs($fp,$this->mime);
    
fputs($fp,"\n.\nQUIT\n");
    while(!
feof($fp))
      
$resp.=fgets($fp,1024);
    
fclose($fp);
  } 

/*........................................................................................*/
/*........................................................................................*/
/* makRo: Добавлены перечисленные ниже функции */

    
function build_image($i)
    {    
        
$message_image=""
        
$message_image.="Content-Type: ".$this->images[$i]["c_type"]; 
        if (
$this->images[$i]["name"]!=""
           
$message_image.="; name = \"".$this->images[$i]["name"]."\"\n"
        else 
           
$message_image.="\n";
        
$message_image.="Content-Transfer-Encoding: base64\n";
        
$message_image.="Content-ID: <".$this->images[$i]["content_id"].">\n\n";
        
$message_image.=chunk_split(base64_encode($this->images[$i]["body"]))."\n";
        return 
$message_image
    }

    function 
add_image($image_html_name $file_path $c_type="image/jpeg")
    {
        if (!
file_exists($file_path)) {
          print 
"File $file_path dosn't exist.";
          return;
        }
        
$fp=fopen($file_path,"r");
        if (!
$fp) {
          print 
"File $file_path coudn't be read.";
          return;
        } 
        
$file=fread($fpfilesize($file_path));
        
fclose($fp);
        
$name basename($file_path);
        
$content_id =  "this_id_".md5(uniqid(time()));
        
$this->images[]=array("body"=>$file"name"=>$name,"c_type"=>$c_type"html_name"=>$image_html_name"content_id"=> $content_id); 
    }
/*........................................................................................*/
/*........................................................................................*/
}

// *************************************************************************
//
//   В качестве аттача пpисоединяем html-письмо (открывается автоматически).
//   Второй аттач - некоторый файл из каталога.
//   Вот так вызывать все то, что написано выше:
//
// *************************************************************************


  
$mail=new html_mime_mail();

  
/* makRo: Добавленны html-теги и атрибуты картинок, в качестве src используется в последующем замещаемая строка в {скобках} */
  
$mail->add_html("<html><body><center><h2>Пpивет!<br><br>".
                  
"<br>Посылаю двоичный файл [/bin/ls] ...</h2>".
                    
"А это моё фото  <img src=\"{MY_FOTO}\" alt=\"Моё фото\"><br>".
                    
"А это фото моей подружки ;-) <img src=\"{MYGIRL_FOTO}\" alt=\"Моя любимая\"><br>".
                  
"</center></body></html>");

  
$mail->add_attachment("/bin/","ls");

   
/* makRo: Функция добавления картинок */
  
$mail ->add_image("MY_FOTO" "/www/my.jpg");
  
$mail ->add_image("MYGIRL_FOTO" "/www/myGirl.jpg");
  
  
$mail->build_message('win'); // если не "win", то кодиpовка koi8
  
$mail->send('ПОЧТОВЫЙ_ХОСТ_ВАШЕГО_ПРОВАЙДЕРА', //Реальная строка - в www-руководстве
              
'КОМУ_(E-MAIL)',
              
'ОТ_КОГО_(E-MAIL)',
              
'ТЕМА ПИСЬМА');
?>

    
    Скачать игры
    Форум