Страница 2 из 3

Добавлено: 09 июл 2014, 18:08
nick
Натали, этот класс использует SMTP, чтобы отправить почту локально вам нужно использовать функцию mail или свой класс-обертку для отправки через эту функцию. Файлы конфигурации нужно настраивать только если отчетливо представляете что и как настраивается.

Может даже так например :ugeek:

Добавлено: 09 июл 2014, 18:54
Натали
Спасибо! Моя проблема в изменении настроек PHPMailer v.5.1, так, чтобы можно было отправлять почту локально. Возможно ли это на Open Server? Что нужно изменить в коде? К примеру, нужно изменить $this->objMailer->Host = "mail.mail.com"; на $this->objMailer->Host = "localhost"; ??? Помогите, пожалуйста, кто знает :(

Есть готовый рабочий сайт, использующий PHPMailer v.5.1, Нужно переписать класс Email для локальной отправки писем. Очень нужно для курсовой. Пожалуйста.

Добавлено: 09 июл 2014, 19:56
Dragon_Knight
PHPMailer вообще не имеет никакого отношения к функции mail() и к OS в целом.
По сути этот класс устанавливает прямое соединение с SMTP сервером и отправляет письмо прямо через обычный сокет. Перехватить его в положить в папку почти невозможно.. Тут два варианта:
1) Сделать класс-заглушку, который будет точно такой-же (по методам) как PHPMailer но в замен открытия сокета будет писать всё в файл.
2) Поднять у себя на компе SMTP сервер и в настройках PHPMailer указать 127.0.0.1

Добавлено: 09 июл 2014, 21:18
Натали
Dragon_Knight писал(а): 2) Поднять у себя на компе SMTP сервер и в настройках PHPMailer указать 127.0.0.1

Спасибо огромное, попробую.

Добавлено: 09 июл 2014, 21:44
Dragon_Knight
На заметку Максиму: Встроить какой-нить простенький SMTP сервер в OS.

Добавлено: 09 июл 2014, 22:35
Максим
Изображение
Одна не читает руководство к PHPMailer, другие не читают руководство к Open Server, третие вообще ничего не понимают, четвертые советует чёрти что, остальные выпали в осадок. Куда я попал? Почему никто не читает руководства никакие? Пойду напьюсь.

Вместо $this->objMailer->IsSMTP(); в PhpMailer нужно использовать $this->objMailer->IsMAIL(); и всё, письма будут сохраняться в папку userdata\tmp\email, согласно настроек Open Server по умолчанию.

Добавлено: 09 июл 2014, 23:37
Натали
Ребята, всем огромное спасибо!!! Максиму отдельная благодарность. :D Общими усилиями спасли меня. Всё работает!!!

Добавлено: 10 июл 2014, 02:28
Dragon_Knight
Максим, правильно, давайте переписывать все CMS'ки что-бы отдебажить их на OS.

Добавлено: 10 июл 2014, 10:01
Vlad_Starkovsky
Dragon_Knight писал(а):Максим, правильно, давайте переписывать все CMS'ки что-бы отдебажить их на OS.
Зачем переписывать, нужно самим их писать) с 0


Никаких готовых решений, только хардкор

Добавлено: 10 июл 2014, 10:37
Максим
Dragon_Knight писал(а):Максим, правильно, давайте переписывать все CMS'ки что-бы отдебажить их на OS.
Вы вообще о чём? Во первых Натали делает курсовую и сама пишет код. Она никакие CMS не переписывает. Во вторых, PHPMailer это универсальный класс отправки почты, он может отправлять как способом mail() так и через SMTP. А в третьих, если уж на то пошло, в PHPmailer есть свои возможности отладки, в особенности протокола SMTP. Так что как бы вам не хотелось, возникшая проблема не имеет никакого отношения к Open Server. Согласитесь, всему виной ваше незнание PHPMailer и его возможностей, это я про фразу "PHPMailer вообще не имеет никакого отношения к функции mail() ".