Вот нашёл хороший видео урок на YouTube http://youtu.be/zR1lHpC-VjQ на многих форумах говорят что функция mail не всегда работает стабильно и предложили используйте реализацию smtp ! вот написал по видео уроку вот такой скрипт; Код (Text): <?php require 'phpmailer/PHPmailerAutoLoad.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'smtp.mail.ru'; $mail->SMTPAuth = true; $mail->Username = 'username'; // Логин от Вашей почты $mail->Password = 'password';// Пароль от Вашей почты $mail->SMTPSecure = "ssl"; $mail->Port = '465'; $mail->CharSet = 'UTF-8'; $mail->From = 'моя@почта'; $mail->FromName = 'Имя'; $mail->addAddress ('дополнительный адрес','Имя'); $mail->addAddress ('дополнительный адрес','Имя'); $mail->addAddress ('дополнительный адрес','Имя'); $mail->isHTML(true); $mail->Subject = 'Тема письма'; $mail->Body = 'Привет мир!<p>Это страка<b>HTML кода</b></p>'; $mail->AltBody = 'Привет мир! Это альтернативное письмо'; if($mail->send() ){ echo 'Письмо отправлено'; }else{ echo 'Письмо не может быть отправлено.'; echo 'Ошибка:' . $mail->ErrorInfo; } ?> но и эта форма не сработала,то есть письмо отправляет,но по адресу не приходит.....остаётся только полагать что в настройках серверов хостинг провайдера проблема!, как и говорил в начале постов уважаемый Хыиуду....пользуюсь хостингом HOSTINGER.RU ...может кто подскажет хороший бесплатный хостинг для тестирования и просмотра сайта?
Это так. Сама функция работает хорошо, но результат может быть странным. Например она может работать секунд 30. Или там допустим ваш IP в черном списке спамеров и почта, отправленная с вашего сервера не будет доходить до адресатов. Но можно сменить IP или хостинг. Так что я предпочитаю mail().
это не так. функция mail вызывает системный агент отправки писем и не более того. то есть это некий аналог exec() и passthru(), но который ограничен только одной программой. если хостер криво настроил MTU/MTA то функция mail() от этого не станет работать неправильно. так что более корректно говорить: теперь по поводу это хороший подход. он конечно немного более ресурсоемкий так как в роли агента выступает ваш скрипт который выполняет обмен с smtp-сервером согласно почтовому протоколу. но на это можно закрыть глаза если на хостинге криво настроена системная отправка почты. как вы поняли что письмо ушло?
на сайте заполнил все поля; ИМЯ,Ваш E_mail и ТЕКСТ и нажал отправить.....Письмо успешно отправлено !!! если менял запись в файле на; Код (Text): <?php // Сообщение $message = " $_POST ['Имя'] $_POST ['email'] $_POST ['Текст'] "; // Отправляем mail('моя@почта', 'Тема письма', $message); ?> то так же отправлялась....зато эта приходит на почту,но без самого текста письма!
тот код который сейчас не работает. по логике я так понимаю там должна быть форма обратной связи и обработчик этой формы который письмо отправляет.
Сейчас стоит вот этот; Код (Text): <?php require 'phpmailer/PHPmailerAutoLoad.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'smtp.mail.ru'; $mail->SMTPAuth = true; $mail->Username = 'username'; // Логин от Вашей почты $mail->Password = 'password';// Пароль от Вашей почты $mail->SMTPSecure = "ssl"; $mail->Port = '465'; $mail->CharSet = 'UTF-8'; $mail->From = 'почта@mail.ru'; $mail->FromName = 'Имя'; $mail->addAddress ('ополнительная почта','Имя'); $mail->addAddress ('ополнительная почта','Имя'); $mail->addAddress ('дополнительная почта','Имя'); $mail->isHTML(true); $mail->Subject = 'Тема письма'; $mail->Body = 'Привет мир!<p>Это страка<b>HTML кода</b></p>'; $mail->AltBody = 'Привет мир! Это альтернативное письмо'; if($mail->send() ){ echo 'Письмо отправлено'; }else{ echo 'Письмо не может быть отправлено.'; echo 'Ошибка:' . $mail->ErrorInfo; } ?>
пишет, что почта отправлена!...а на почтовый ящик не приходит....и на добавочные почтовые ящики то же не приходит!
с домашнего сервака через сервак в датацентре письмо уходит нормально. c домашнего сервака через сервак мэйлу письмо уходит нормально. похоже у меня слишком прямые руки... поставь уровень дебага выше и дай сюда получившийся лог Добавлено спустя 3 минуты 48 секунд: а де он мэйл-лог своего мэйлрушного смтп возьмет? не путай парнишу)))) ему надо почитать протокол смтп обмена его несчастной машины и сервака мэйлру. у меня все отлично всё сработало. но я знаю рфц по почте поэтому не выебывался (хаха! матфильтр сосет) при составлении тестового письма. как ты можешь догадываться человек который не может нормально скрипт отладить скорее всего даже не подозревает о существовании стандартов и пытается сделать какую-то красоту которую тупо режет политика почтового протокола...
а можешь сначала почитать исходный код того класса которым ты решил воспользоваться. я понимаю что у тебя основная цель это чтоб письмо улетало. но если уж ты взялся за чужой код - прочитай его, пойми. подумай как им можно пользоваться. а не тупо из интернетов копируй код и думай потом почему не работает. вернее не думай а беги ныть на пхпру. мне вот например нравятся метод edebug и свойство SMTPDebug. я вот прям читаю описание второго и сурс первого и понимаю зачем оно нужно и как примерно должно работать. Добавлено спустя 50 секунд: смотри не брикни))))
мне всё равно mail это или edebug и свойство SMTPDebug или smtp, главное что бы файл php корректно работал со всеми почта.....!!! Добавлено спустя 9 минут 5 секунд: ....))....все такие крутые по ту сторону монитора.....а как на улице встретишь,так начинают оправдываться....))
с большим удовольствием...)) ну так что поможет кто нибудь....или искать правду на других форумах....жаль конечно что придётся на другой форум уходить...((