САМОУЧИТЕЛЬ PHP 4

         

Отправка и перекодирование писем - часть 4


      $subject=trim($regs[1]);

    }

  }

  // Нет заголовка Content-type — добавляем его в конец.

  if(!$HasContType) $Lines[]="Content-type: text/plain; $chs";

  // Соединяем строки опять вместе.

  $head=ereg_Replace("\n\n+","\n",join("\n",$Lines));

  // Посылаем письмо.

  $Result=@mail($to,$subject,$msg,$head)!=0;

  // В Windows параллельно ведем журнал писем (для отладки).

  if(getenv("COMSPEC")) {

    if(!@is_dir("debug")) mkdir("debug",0755);

    $f=fopen("debug/_debug_mail.txt","a+");

    fputs($f,"> to: $to\n");

    fputs($f,"$head\n--------\n");  

    fputs($f,"$msg\n-----------------------------------------\n\n");

    fclose($f);

  } 

  return $Result;

}

// Функция PostMail() "разворачивает" шаблон $msg, делая доступным для

// него переменные из массива $Vars (см. описание функций

// ExpandTemplate() и ExpandFile()). Затем она переводит результирующий

// текст в кодировку, заданную в $encTo (сам текст при этом

// рассматривается в кодировке $encFrom), и посылает его по электронной

// почте по адресу $to. Если строка $msg начинается с префикса

// file:, за которым следует имя файла, то шаблон письма загружается из

// этого файла при помощи ExpandFile(). В противном случае в качестве

// шаблона рассматривается сам параметр $msg.

function PostMail($to,$msg,$encTo=DefaultCode,

                  $Vars=false,$encFrom=DefaultCode)

{ if(eregi("^file:(.*)(\n|\$)",$msg,$P))

    $Text=ExpandFile(trim($P[1]),$Vars);   

  else

    $Text=ExpandTemplate($msg,$Vars);

  // Посылаем письмо.

  return SendMail($to,$Text,$encTo,$encFrom);

}

?>

Отличительной особенностью функции EncodeString() (а также всех остальных почтовых функций) является то, что она умеет перекодировать текст в транслит.

Термин "транслит" (сокращение от "транслитерация") означает такую кодировку кириллицы, при которой все "русские" буквы контекстно заменяются на записанные в соответствии с английской транскрипцией. Например, vot stroka, zapisannaya translitom. Эта кодировка особенно полезна для пользователей Unix, которые забыли установить у себя "русскую" таблицу символов.




Содержание  Назад  Вперед






Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий