Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 927

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Нужен рабочий пример отправки и забирания почты с gmail.com
причем по https
пробовал стандартные indy - они или с ssl не могут работать или еще что - не хотит вообщем, библиотеки подкладывал, не помогало
может я чего-то не то делал..
возможно кто-то уже работал над этим и не жалко поделиться исходником
спасибо

mirt.steelwater Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: mirt.steelwater (статус: Посетитель)
Вопрос отправлен: 17 января 2011, 16:23
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 5; последнее сообщение — 17 января 2011, 16:57; участников в обсуждении: 2.
mirt.steelwater

mirt.steelwater (статус: Посетитель), 17 января 2011, 16:25 [#1]:

procedure TForm1.Button1Click(Sender: TObject);
begin
        f_MSG := NIL;
        f_MSG := TIdMessage.Create;
        if ( not Assigned (f_MSG) ) then
            raise Exception.Create ('Ошибка создания структуры сообщения!');
        with f_MSG do
        begin
            From.Address := 'mirt.steelwater@gmail.com';
            Recipients.EMailAddresses := 'mirt.steelwater@gmail.com';
            Subject := UTF8Encode ('test');
            Date := now;
        end;
        { создание SMTP-клиента }
        f_SMTP := NIL;
        f_SMTP := TIdSMTP.Create (NIL);
        if ( not Assigned (f_SMTP) ) then
            raise Exception.Create ('Ошибка создания SMTP-клиента!');
        with f_SMTP do
        begin
            Host := 'smtp.gmail.com';
            Port := 443;{443, 495, 587, 25}
            UserName := 'mirt.steelwater';
            Password := '********';
            AuthType := atDefault;
        end;
        { создание SSL-сессии }
        f_SSL := NIL;
        f_SSL := TIdSSLIOHandlerSocketOpenSSL.Create (NIL);
        if ( not Assigned (f_SSL) ) then
            raise Exception.Create ('Ошибка создания SSL-сессии!');
        with f_SSL do
        begin
            Host := f_SMTP.Host;
            Port := f_SMTP.Port;
            Destination := Format ('%s:%d',[Host,Port]);
            DefaultPort := 0;
            SSLOptions.Method := sslvTLSv1;
            SSLOptions.Mode := sslmUnassigned;
        end;
        { подключение поддержки SSL к SMTP-клиенту }
        with f_SMTP do
        begin
            IOHandler := f_SSL;
            UseTLS := utUseExplicitTLS;
        end;
 
        f_MSG.Body.Add ('test message '+DateTimeToStr (now));
 
    f_SMTP.Connect();
    f_SMTP.Send(f_MSG);
    Application.ProcessMessages;
    f_SMTP.Disconnect;
 
    FreeAndNil (f_SSL);
    FreeAndNil (f_SMTP);
    FreeAndNil (f_MSG);
end;
Ⓐ свобода сопротивление солидарность
mirt.steelwater

mirt.steelwater (статус: Посетитель), 17 января 2011, 16:31 [#2]:

procedure TForm1.Button3Click(Sender: TObject);
var
    f_POP3: TIdPOP3;
    f_SSL: TIdSSLIOHandlerSocketOpenSSL;
begin
        { создание POP3-клиента }
        f_POP3 := NIL;
        f_POP3 := TIdPOP3.Create (NIL);
        if ( not Assigned (f_POP3) ) then
            raise Exception.Create ('Ошибка создания POP3-клиента!');
        with f_POP3 do
        begin
            Host := 'pop.gmail.com';
            Port := 110;{443, 495, 587, 110}
            UserName := 'mirt.steelwater';
            Password := '********';
            AuthType := atAPOP;
        end;
        { создание SSL-сессии }
        f_SSL := NIL;
        f_SSL := TIdSSLIOHandlerSocketOpenSSL.Create (NIL);
        if ( not Assigned (f_SSL) ) then
            raise Exception.Create ('Ошибка создания SSL-сессии!');
        with f_SSL do
        begin
            Host := f_POP3.Host;
            Port := f_POP3.Port;
            Destination := Format ('%s:%d',[Host,Port]);
            DefaultPort := 0;
            SSLOptions.Method := sslvTLSv1;
            SSLOptions.Mode := sslmUnassigned;
        end;
        { подключение поддержки SSL к POP3-клиенту }
        with f_POP3 do
        begin
            IOHandler := f_SSL;
            UseTLS := utUseExplicitTLS;
        end;
 
        f_POP3.Connect;
        if f_POP3.Connected then
            f_POP3.CheckMessages;
        //...
        FreeAndNil (f_SSL);
        FreeAndNil (f_POP3);
end;
оба куска не работали(
пробовал все порты, что закоментированны
Ⓐ свобода сопротивление солидарность
min@y™

min@y™ (статус: Доктор наук), 17 января 2011, 16:38 [#3]:

https - это ж через web-интерфейс? Или я чего-то не понимаю?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mirt.steelwater

mirt.steelwater (статус: Посетитель), 17 января 2011, 16:43 [#4]:

я ошибся, каюсь
это не https
это просто smtp & pop3 + ssl
это я по привычке написал..
Ⓐ свобода сопротивление солидарность
min@y™

min@y™ (статус: Доктор наук), 17 января 2011, 16:57 [#5]:

Цитата (mirt.steelwater):

я ошибся, каюсь это не https это просто smtp & pop3 + ssl это я по привычке написал..

Вот тебе БОЛЬШАЯ ССЫЛКА. Ковыряй дальше сам.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:26
Выполнено за 0.03 сек.