Отправка Email

Обсуждение проблем в работе программного комплекса
Аватара пользователя
nick
Сообщения: 115
Зарегистрирован:
06 окт 2011, 10:41
Откуда: Россия
Контактная информация:

nick » 09 июл 2014, 18:08

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

Может даже так например :ugeek:
Натали
Сообщения: 8
Зарегистрирован:
06 янв 2014, 19:43

Натали » 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 для локальной отправки писем. Очень нужно для курсовой. Пожалуйста.
Аватара пользователя
Dragon_Knight
Сообщения: 581
Зарегистрирован:
10 сен 2012, 02:43
Контактная информация:

Dragon_Knight » 09 июл 2014, 19:56

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

Натали » 09 июл 2014, 21:18

Dragon_Knight писал(а): 2) Поднять у себя на компе SMTP сервер и в настройках PHPMailer указать 127.0.0.1

Спасибо огромное, попробую.
Аватара пользователя
Dragon_Knight
Сообщения: 581
Зарегистрирован:
10 сен 2012, 02:43
Контактная информация:

Dragon_Knight » 09 июл 2014, 21:44

На заметку Максиму: Встроить какой-нить простенький SMTP сервер в OS.
Аватара пользователя
Максим
Сообщения: 5364
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Максим » 09 июл 2014, 22:35

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

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

Натали » 09 июл 2014, 23:37

Ребята, всем огромное спасибо!!! Максиму отдельная благодарность. :D Общими усилиями спасли меня. Всё работает!!!
Аватара пользователя
Dragon_Knight
Сообщения: 581
Зарегистрирован:
10 сен 2012, 02:43
Контактная информация:

Dragon_Knight » 10 июл 2014, 02:28

Максим, правильно, давайте переписывать все CMS'ки что-бы отдебажить их на OS.
Аватара пользователя
Vlad_Starkovsky
Сообщения: 35
Зарегистрирован:
28 окт 2013, 21:27
Откуда: Piter

Vlad_Starkovsky » 10 июл 2014, 10:01

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


Никаких готовых решений, только хардкор
Аватара пользователя
Максим
Сообщения: 5364
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Максим » 10 июл 2014, 10:37

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