Компонент NMSMTP
От: Gorgool  
Дата: 05.12.08 14:22
Оценка:
По учебе нужно написать программу отправляющую простенькое письмо.
Среда Borland Builder C++ 6.
Проблема в том что для отправки сообщения требуется авторизация
на сервере, но поля где указывать пароль найти не смог. (что то
вроде NMPOP31->Password в компонетне NMPOP3). Не могли бы вы
подсказать как решить эту проблему.
Re: Компонент NMSMTP
От: Danchik Украина  
Дата: 05.12.08 14:24
Оценка:
Здравствуйте, Gorgool, Вы писали:

G>По учебе нужно написать программу отправляющую простенькое письмо.

G>Среда Borland Builder C++ 6.
G>Проблема в том что для отправки сообщения требуется авторизация
G>на сервере, но поля где указывать пароль найти не смог. (что то
G>вроде NMPOP31->Password в компонетне NMPOP3). Не могли бы вы
G>подсказать как решить эту проблему.

Возьмите Indy. TidPop3
Re: Компонент NMSMTP
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 05.12.08 15:19
Оценка:
Здравствуйте, Gorgool, Вы писали:

G>Проблема в том что для отправки сообщения требуется авторизация

G>на сервере, но поля где указывать пароль найти не смог. (что то
G>вроде NMPOP31->Password в компонетне NMPOP3). Не могли бы вы
G>подсказать как решить эту проблему.

Почта отправляется с помощью NMSMTP. Там только имя (NMSMTP.USERID=....) нужно.
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[2]: Компонент NMSMTP
От: Gorgool  
Дата: 05.12.08 16:23
Оценка:
Здравствуйте, DarkMaster, Вы писали:

DM>Здравствуйте, Gorgool, Вы писали:


G>>Проблема в том что для отправки сообщения требуется авторизация

G>>на сервере, но поля где указывать пароль найти не смог. (что то
G>>вроде NMPOP31->Password в компонетне NMPOP3). Не могли бы вы
G>>подсказать как решить эту проблему.

DM>Почта отправляется с помощью NMSMTP. Там только имя (NMSMTP.USERID=....) нужно.


На некоторых серверах требуется авторизация.
При отправке сообщения через сервер smtp.mail.ru вылазает ошибка Авторизации.
Re[2]: Компонент NMSMTP
От: Gorgool  
Дата: 05.12.08 16:25
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Здравствуйте, Gorgool, Вы писали:


G>>По учебе нужно написать программу отправляющую простенькое письмо.

G>>Среда Borland Builder C++ 6.
G>>Проблема в том что для отправки сообщения требуется авторизация
G>>на сервере, но поля где указывать пароль найти не смог. (что то
G>>вроде NMPOP31->Password в компонетне NMPOP3). Не могли бы вы
G>>подсказать как решить эту проблему.

D>Возьмите Indy. TidPop3


Спасибо за совет попробую.
Re[3]: Компонент NMSMTP
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 05.12.08 16:32
Оценка:
Здравствуйте, Gorgool, Вы писали:

DM>>Почта отправляется с помощью NMSMTP. Там только имя (NMSMTP.USERID=....) нужно.


G>На некоторых серверах требуется авторизация.

G>При отправке сообщения через сервер smtp.mail.ru вылазает ошибка Авторизации.

Смотри тогда NMSMTP1.FinalHeader и работай с заголовком письма.

P.S. Переходи на Indy, как тебе и советовали. Компоненты от NetMasters давно пора в утиль сдать.
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[2]: Компонент NMSMTP
От: Gorgool  
Дата: 05.12.08 17:03
Оценка:
Сообщение без вложений.
Для отправки думал использовать IdSMTP->QuickSend();
Там, в качестве параметрров, помимо обычных полей для сообщения (From, To, Subject и т.п),
используется параметр TMetaClass *vmt. Никак не могу понять откуда его брать.
Re[4]: Компонент NMSMTP
От: Gorgool  
Дата: 05.12.08 17:11
Оценка:
Спасибо за совет. Буду пробовать=)
Re[3]: Компонент NMSMTP
От: Danchik Украина  
Дата: 05.12.08 17:49
Оценка:
Здравствуйте, Gorgool, Вы писали:

G>Сообщение без вложений.

G>Для отправки думал использовать IdSMTP->QuickSend();
G>Там, в качестве параметрров, помимо обычных полей для сообщения (From, To, Subject и т.п),
G>используется параметр TMetaClass *vmt. Никак не могу понять откуда его брать.

Что то типа этого
var
  aAddress : TIdEMailAddressItem;
  aMessage : TIdMessage; 

...

aSmtp.Connect; // настроить сначала
aMessage := TIdMessage.Create(nil);
try
  aMessage.Subject := 'Message subject';
  aMessage.Body.Text := 'Message text';
  Message.FromAddress.Address := 'some@address.com';

  aAddress := Message.ToAddresses.Add;
  aAddress.Address := 'some_destination@address.com';

  aSmtp.Send(aMessage);
finally
  aMessage.Free;
end;
Re[4]: Компонент NMSMTP
От: Gorgool  
Дата: 05.12.08 18:41
Оценка:
Большое Спасибо. Все заработало.
Вот переложение на С++ ,
может в будущем кому-нибудь пригодится.

Обьект IdMessage1 переноситься на форму в виде компонента, из раздела Indy Misc

IdSMTP1->Host="";
IdSMTP1->UserId="";
IdSMTP1->Password="";
IdSMTP1->Connect();
IdMessage1->Subject="";
IdMessage1->From->Address="";
IdMessage1->Body->Text="";
IdMessage1->Recipients->EMailAddresses=""; //Получатель
IdSMTP1->Send(IdMessage1);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.