Панель управления
Топ новостей
» DVD X Studios CloneDVD 5.6.1.1» Венок из ромашек / The Daisy Chain (2008)
» Замёрзшие / Frozen (2010) BDRip
» Мир Наизнанку 3: Африка (2012) SATRip
» Магия / Rough Magic (1995/HDTVRip)
» Переполох в Гималаях / Lissi und der wilde Kaiser (2007 ...
» Эпоха / Epoch (2001/DVDRip)
» Приключение на таинственном острове / Mysterious Island ...
» Вечера на хуторе близ Диканьки (2001/DVDRip)
» Movavi Video Suite 10.3 SE
Реклама
Отправка писем с вложениями на PHP
Новость опубликовал: administrator ( Добавлено : (20-08-2010, 22:39) )
Итак, из статьи Своя рассылка на PHP Вы уже узнали не только как можно отправлять письма с помощью PHP, но и как организовать простую рассылку своими силами.
Файл engine/modules/mymod.php не найден, его загрузка невозможна.
Комментариев: (44) Просмотров: 1339
Итак, далее представлен класс, который с легкостью позволяет прикреплять файлы к письму.
Вот и все, привожу пример использования класа:
$attachment = fread(fopen("file.zip", "r"), filesize("file.zip"));
$mail = new mime_mail();
$mail->from = "my@e-mail.com";
$mail->headers = "Errors-To: [EMAIL=my@e-mail.com]my@e-mail.com[/EMAIL]";
$mail->to = "user@e-mail.com";
$mail->subject = "PHP atachment";
$mail->body = "Get your file!";
$mail->add_attachment("$attachment", "file.zip", "Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAgEASABIAAD/7QT+UGhvdG9zaG");
$mail->send();
Третий параметр в add_attachment передает заголовок типа файла.
Вот, собственно и все, как видите, ничего сложного.
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
);
}
// Построение сообщения (multipart)
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"].""" : "")." Content-Transfer-Encoding: $encoding $message ";
}
function build_multipart() {
$boundary = "b".md5(uniqid(time()));
$multipart = "Content-Type: multipart/mixed; boundary = $boundary This is a MIME encoded message. --$boundary";
for($i = sizeof($this->parts)-1; $i>=0; $i--) $multipart .= " ".$this->build_message($this->parts[$i]). "--$boundary";
return $multipart.= "-- ";
}
// Посылка сообщения, последняя вызываемая функция класса
function send() {
$mime = "";
if (!empty($this->from)) $mime .= "From: ".$this->from. " ";
if (!empty($this->headers)) $mime .= $this->headers. " ";
if (!empty($this->body)) $this->add_attachment($this->body, "", "text/plain");
$mime .= "MIME-Version: 1.0 ".$this->build_multipart();
mail($this->to, $this->subject, "", $mime);
}
}
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
);
}
// Построение сообщения (multipart)
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"].""" : "")." Content-Transfer-Encoding: $encoding $message ";
}
function build_multipart() {
$boundary = "b".md5(uniqid(time()));
$multipart = "Content-Type: multipart/mixed; boundary = $boundary This is a MIME encoded message. --$boundary";
for($i = sizeof($this->parts)-1; $i>=0; $i--) $multipart .= " ".$this->build_message($this->parts[$i]). "--$boundary";
return $multipart.= "-- ";
}
// Посылка сообщения, последняя вызываемая функция класса
function send() {
$mime = "";
if (!empty($this->from)) $mime .= "From: ".$this->from. " ";
if (!empty($this->headers)) $mime .= $this->headers. " ";
if (!empty($this->body)) $this->add_attachment($this->body, "", "text/plain");
$mime .= "MIME-Version: 1.0 ".$this->build_multipart();
mail($this->to, $this->subject, "", $mime);
}
}
Вот и все, привожу пример использования класа:
$attachment = fread(fopen("file.zip", "r"), filesize("file.zip"));
$mail = new mime_mail();
$mail->from = "my@e-mail.com";
$mail->headers = "Errors-To: [EMAIL=my@e-mail.com]my@e-mail.com[/EMAIL]";
$mail->to = "user@e-mail.com";
$mail->subject = "PHP atachment";
$mail->body = "Get your file!";
$mail->add_attachment("$attachment", "file.zip", "Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAgEASABIAAD/7QT+UGhvdG9zaG");
$mail->send();
Третий параметр в add_attachment передает заголовок типа файла.
Вот, собственно и все, как видите, ничего сложного.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Другие новости по теме:
- CSS: верстка несимметричных макетов.
- Создание гостевой книги
- PHP: запись информации в текстовый файл
- CSS: верстка макета из трех колонок с постоянной шириной
- Вёрстка на div. Как обойтись без float
- Пользовательские интерфейсы jQuery: tooltip – всплывающая подсказка.
- Кросс-браузерный CSS без хаков
- Сжатие данных с помощью PHP gzip module
- Почтовые функции в РНР
- Постраничная навигация на PHP
#1 написал: sanator
6 марта 2012 13:04 | ICQ: -- |
Группа: Гости Регистрация: -- |
Публикаций: 0 | Комментариев: 0
цитировать
#2 написал: IteldweW
16 марта 2012 01:52 | ICQ: -- |
Группа: Гости Регистрация: -- |
Публикаций: 0 | Комментариев: 0
цитировать
#3 написал: atmotoemboste
1 апреля 2012 17:55 | ICQ: -- |
Группа: Гости Регистрация: -- |
Публикаций: 0 | Комментариев: 0
цитировать
#4 написал: jeatrisee
2 апреля 2012 07:09 | ICQ: -- |
Группа: Гости Регистрация: 1.04.2012 |
Публикаций: 0 | Комментариев: 264
цитировать
#5 написал: Daxfaissera
3 апреля 2012 03:59 | ICQ: 154186735 |
Группа: Гости Регистрация: 1.03.2012 |
veto bill student loans redstone federeal credit union. save money credit cards, instant loans. goverment credit repair free private no credits. eligible for va loans consumer credit counseling blaine minnesoty. leed nc 2.1 eq credit 7.1. the wisconsin credit union league new payday loans. |
Публикаций: 0 | Комментариев: 205
цитировать
#6 написал: HuttBlalp
4 апреля 2012 04:02 | ICQ: -- |
Группа: Гости Регистрация: -- |
chattanooga city employees credit union student loans college fast. renovation tax credits in cny, Payday Low Credit Loans Cash for Everybody. emergency cash loans bad credit commercial auto loans. southwest corp credit union, california mortgage credit card numbers. credit card rates o balance transfer. credit card fraud phone contact buyer agent commision home loans. |
Публикаций: 0 | Комментариев: 0
цитировать
#7 написал: ImadaKemWaype
22 апреля 2012 02:03 | ICQ: -- |
Группа: Гости Регистрация: -- |
обнаружил нереальное предложение! вот так вот криво оно написано было: сдается квартира в Одессе с мебелью (Китай), почти целой бытовой техникой, недалеко от пляжа и ценой, стоимостью – 690$. Самое немыслимое это то, что рядом была улица тенистая и кафе днепр. |
Публикаций: 0 | Комментариев: 0
цитировать
#8 написал: Nidocootbilla
10 мая 2012 08:39 | ICQ: -- |
Группа: Гости Регистрация: 9.05.2012 |
кикбоксинг футболки беременные майки. заказать футболку steve austin, заказать футболку. курт кобейн футболки купить, pink floyd майки. легинсы 2010 купить наложенным платежем, белая футболка c rfhnbhrjq regbnm. купить футболку спб. купить футболки cristiano ronaldo katran футболка. |
Публикаций: 0 | Комментариев: 189
цитировать


