Помогаите плиз
используя классы SendMailSmtpClass или PHPMailer
письма получаю с кракозябрами
файл не прикрепляется
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
require_once "SendMailSmtpClass/SendMailSmtpClass.php"; // подключаем класс
$mailSMTP = new SendMailSmtpClass('****@mail.ru', '****', 'ssl://smtp.mail.ru', 465, "UTF-8");
// $mailSMTP = new SendMailSmtpClass('логин', 'пароль', 'хост', 'порт', 'кодировка письма');
// от кого
$from = array(
"Артур", // Имя отправителя
"***@mail.ru", // почта отправителя
);
//Load Composer's autoloader
$to = "***@mail.ru";
// емайл получателя
$subject = "Письмо с вложением";
// тема письма
$message = "Здравствуйте
Если с этим письмом вы получили прикрепленный файл значит все ок
Почтовый робот ";
// текст сообщения
$filename = "4078.xls";
// название файла
$filepath = "excel/$filename";
// месторасположение файла
// письмо с вложением состоит из нескольких частей, которые разделяются разделителем
$boundary = "--".md5(uniqid(time()));
// генерируем разделитель
$mailheaders = "MIME-Version: 1.0n";
$mailheaders .="Content-Type: multipart/mixed; boundary=\"$boundary\"n";
// разделитель указывается в заголовке в параметре boundary
$mailheaders .= "From: SiteRobot <noreply@siterobot.ru>rn";
$mailheaders .= "Reply-To: noreply@siterobot.rurn";
$multipart = "--$boundaryn";
$multipart .= "Content-Type: text/plain; charset=UTF-8nn";
$multipart .= "$message";
// первая часть само сообщение
$fp = fopen($filepath,"r");
if (!$fp)
{
print "Файл не может быть прочитан";
exit();
}
$file = fread($fp, filesize($filepath));
fclose($fp);
// чтение файла
$message_part = "--$boundaryn";
$message_part .= "Content-Type: application/octet-stream; name = ".$filename."n";
$message_part .= "Content-Transfer-Encoding: base64n";
$message_part .= "Content-Disposition: attachment; filename = ".$filename."nn";
$message_part .= chunk_split(base64_encode($file))."n";
// второй частью прикрепляем файл, можно прикрепить два и более файла
$multipart .= $message_part;
$result1 = $mailSMTP->send($to, $subject, $multipart, $from);
// отправляем письмо
if($result1 === true){
echo "Отправленно";
}else{
echo "Не отправленно <br>$result1<br>";
}
в конце если отправлять таг
$mailSMTP->send($to, $subject, $multipart, $mailheaders );
то пишет E-mail didn't sent.