Письма...

Статус
В этой теме нельзя размещать новые ответы.

GreatWeb

Guest
Письма...

Я хотел бы узнать, можно ли как-то на PHP написать такую программу,
которая может отправлять HTML файл со всеми картинками
(знаете, как отправляет Microsoft Outlook) и можно ли к письму
прикрепить какой ни, будь файл (архив)?
 

Vladimirovich

Guest
Re: Письма...

Автор оригинала: GreatWeb
Я хотел бы узнать, можно ли как-то на PHP написать такую программу,
которая может отправлять HTML файл со всеми картинками
(знаете, как отправляет Microsoft Outlook) и можно ли к письму
прикрепить какой ни, будь файл (архив)?
Можно
 

Cosmic

Guest
<?php

class mime_mail {

var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;

function mime_mail () {
$this -> parts = array();
$this -> to = "";
$this -> from = "";
$this -> subject = "";
$this -> body = "";
$this -> headers = "";
}

function add_attachment($message, $name = "", $ctype = "application/octet-stream") {
$this -> parts[] = array (
"ctype" => $ctype,
"message" => $message,
"encode" => $encode,
"name" => $name
);
}

function build_message($part) {
$message = $part["message"];
$message = chunk_split(base64_encode($message));
$encoding = "base64";
return "Content-Type: " . $part["ctype"]
. ($part["name"]? "; name = \"".$part["name"]
. "\"" : "")
. "\nContent-Transfer-Encoding: $encoding\n\n$message\n";
}

function build_multipart() {
$boundary = "b" . md5(uniqid(time()));
$multipart = "Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME encoded message.\n\n--$boundary";
for ($i = sizeof($this -> parts) - 1; $i >= 0; $i--) {
$multipart .= "\n" . $this -> build_message($this -> parts[$i]) . "--$boundary";
}
return $multipart .= "--\n";
}

function get_mail($complete = true) {
$mime = "";
if (!empty($this -> from)) {
$mime .= "From: " . $this -> from . "\n";
}
if (!empty($this -> headers)) {
$mime .= $this -> headers . "\n";
}
if ($complete) {
if (!empty($this -> to)) {
$mime .= "To: " . $this -> to . "\n";
}
if (!empty($this -> subject)) {
$mime .= "Subject: " . $this -> subject . "\n";
}
}
if (!empty($this -> body)) {
$this -> add_attachment($this -> body, "", "text/plain");
}
$mime .= "MIME-Version: 1.0\n" . $this -> build_multipart();
return $mime;
}

function send() {
$mime = $this -> get_mail(false);
mail($this -> to, $this -> subject, "", $mime);
}
}

?>

Честно списано из старого форума http://php.com.ua у wanderer. Будет ли работать - не знаю. Мое дело предложить :)
 

DiMA

php.spb.ru
Команда форума
давайте назвывать все своими именами: "честно спиз**но с php.spb.ru"
 

GreatWeb

Guest
ZIP

Про отправку в HTML формате я разобрался, а можно ли как то прикрепить файл (zip архив). Если кто-то знает накидайте примерчик, всем спасибо за помощь
 

Tronyх

Новичок
Про отправку в HTML формате я разобрался, а можно ли как то прикрепить файл (zip архив). Если кто-то знает накидайте примерчик, всем спасибо за помощь
Приведённый класс, как раз и умеет работать с атачментами!!! Смотри что тебе в ответ пишут!!!
 

RomikChef

Guest
Дима, твой мейл умеет посылать хтмл с картинками не лежащими на нттр сервере?
 

GreatWeb

Guest
Всем спасибо!!!

Всем БООльшое спасибо, со свем разобрался!!!:cool:
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху