- Автор темы
- #1
Требуется изменить дату отправления письма, пришел к выводам, что через header
вот так
сделать нереально.. что делать? как можно изменить дату отправки?
вот так
Код:
<?php
$attachment=array(); include('smu.php');
$file[]="p1.rar";
$from="i@maxlord.ru";
$headers="Delivery-date: Sun, 08 Dec 2002 09:04:04 +0300";
$to="XXX@gmail.com";
$subj="письмо";
$message="test";
#загружаем файлы в массив
for($i=0;$i<count($file);$i++){
$attachment[$file[$i]] = fread(fopen($file[$i], "r"), filesize($file[$i]));
}
#создаем переменную класса
$mail = new x_mail();
#задаем переменные для отправки почты
$mail->from = $from; $mail->headers = $headers; $mail->to = $to; $mail->subject = $subj; $mail->message = $message;
#прикрепляем вложения
foreach($attachment as $k=>$v) {$mail->__attachmentsArray($v, $k);};
#Отправляем письмо
$mail->sendmail();
?>
Код:
<?php class x_mail{ #Задаем переменные
public $from; public $to; public $headers; public $subject; public $message; private $items; #функция отправки почты
public function sendmail(){ $_headers=""; if(!empty($this->from)){$_headers.="From: ".$this->from. "\n";} if(!empty($this->headers)){$_headers.=$this->headers. "\n";} if(!empty($this->message)){ $this->__attachmentsArray($this->message,"","text/plain");} $_headers.="MIME-Version: 1.0\n"; $_headers.=$this->__insertAttachments(); mail($this->to,$this->subject,"",$_headers); } #Инициализация переменных класса
public function x_mail(){ $this->from = ""; $this->to = ""; $this->headers = ""; $this->subject = ""; $this->message = ""; $this->items = array(); } #формируем массив вложений
public function __attachmentsArray($body,$name="",$type="application/octet-stream"){ $this->items[]=array("body" => base64_encode($body), "name" => $name,"type" => $type,"encoding" => "base64"); } #функция добавляет файлы в тело письма
private function __insertAttachments(){ $bound = "bound".md5(time()); $multipart = "Content-Type: multipart/mixed; boundary = \"$bound\"\n\nThis is a MIME message.\n\n--$bound"; for($i = sizeof($this->items)-1; $i>=0; $i--) { $multipart .= "\n".$this->__mimeConstructor($this->items[$i]). "--$bound";} return $multipart.= "--\n"; } #формируем MIME-тип вложения
private function __mimeConstructor($items) { $_mC="Content-Type: ".$items["type"].($items["name"]? "; name = \"". $items["name"]."\"" : "")."\nContent-Transfer-Encoding: ". $items["encoding"]."\n\n".$items["body"]."\n"; return $_mC; } } ?>
сделать нереально.. что делать? как можно изменить дату отправки?
Последнее редактирование: