вот код: PHP: <?php class Mailer { private $n = "\n"; private $to; private $subject; private $message; private $from; # Конструктор. Устанавливаем символ переноса строки function __construct() { if(substr(PHP_OS, 0, 3) == "WIN") $this->n = "\r\n"; } # Метод формирования адреса "кому" function createTo($to) { $this->to = '=?utf-8?b?'. base64_encode($to) .'?='; } # Метод формирования адреса "от кого" function createFrom($from) { $this->from = '=?utf-8?b?'. base64_encode($from) .'?='; } # Метод формирования темы письма function createSubject($subject) { $this->subject = '=?utf-8?b?'. base64_encode($subject) .'?='; } # Метод формирования заголовков function createHeader() { $header = 'Content-type: text/plain; charset="utf-8"'. $this->n; $header .= 'From: <'. $this->from .'>'. $this->n; $header .= 'MIME-Version: 1.0'. $this->n; $header .= 'Date: '. date('D, d M Y h:i:s O') . $this->n; $this->headers = $header; } # Отправка function sendMail($message) { if(mail($this->to, $this->subject, $message, $this->headers, '-f'. $this->from )) return true; else return false; } } $to = [email='milo@gmail.ru]'milo@gmail.ru[/email]'; $subject = 'Табе пакет'; $from = [email='milo2@mail.ru]'milo2@mail.ru[/email]'; $message = 'Вот такое вот письмо'; $mail = new Mailer(); $mail -> createTo($to); $mail -> createFrom($from); $mail -> createSubject($subject); $mail -> createHeader(); $mail -> sendMail($message); ?> Используя данный код, сообщение не доходит куда надо, пробывал через DENWER не доходит, через сервер тоже самое, в папке денвера tmp/!sendmail открываю сообщение програмкой - всё норм, все буквы видно нормально, кодировка ок... В чём может быть дело.. Заранее очень благодарен!
1. Читай логи и сообщения об ошибках. 2. Всегда если сообщение не уходит - то на почтовом сервере будет ответ. 3. Если сообщение не доходит - то проверь на ящике пропускающем спам. Если все ок. То проблема в спаморезках. 4. Если не ок.... то опять разбирайся с п.2
а через что ты отправляешь-то? у тебя MTA то есть? судя по денверу - даботаешь под виндой. тогда надо ставить локальный MTA. пы.сы. MTA - Mail Transfer Agent (служба доставки почты)
Вообще я хочу организовать отправку сообщений через сервер... на хостинге есть следующее: E-MAIL FEATURES E-mail Addresses E-mail Aliases Mailing Lists SPAM Filters E-mail Filters Anti-virus Protection SPF Protection Web E-mail POP3 Server IMAP Server SMTP Server Auto-responder Catch-all E-mails E-mail Forwarding Помогите, пожалуйста, настроить отправку email'ов! Я даж понятия не имею как отправлять их! В техподдержке хостинга вежливо послали подальше... В php соображаю...
Ммм, начни с кошечек. Отправь сообщение на свой ящик при помощи функции mail(); Без извратов с кодировками, заголовками, вложениями. Только From, To, и тело письма. Естественно сделай это на сервере где есть доступ к SMTP.