Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
v0l0d1ka
9 / 9 / 0
Регистрация: 14.12.2010
Сообщений: 127
#1

E-mail чекер - C++

28.06.2011, 19:28. Просмотров 2511. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Решил написать емайл чекер, который проверял бы и уведомлял пользователя об новых письмах. Например на mail.ru или yahoo.com. Пытался найти какие-нибудь исходники, но безуспешно. Посоветуйте с чего начать, какие либы использовать. Может подкините ссылку на какую-нибудь статью. В общем любая информация будет полезной.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2011, 19:28     E-mail чекер
Посмотрите здесь:

C++ С++ функции-валидоторы e-mail и даты
Ссылка на e-mail средствами WinAPI C++
Проверка e-mail на правильность. C++
Чекер вещей Team Fortess 2 C++
Отправка уведомления на e-mail C++
Как отправить E-mail Dev C++ C++
C++ Отправка письма на e-mail
Пишем свой чекер C++
C++ Как создать чекер для проверки консольных программ
Определить, является ли e-mail корректным C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
28.06.2011, 19:44     E-mail чекер #2
вот вам либа, изучайте
http://www.chilkatsoft.com/refdoc/vcCkMailManRef.html
igorrr37
1611 / 1239 / 124
Регистрация: 21.12.2010
Сообщений: 1,895
Записей в блоге: 7
28.06.2011, 20:12     E-mail чекер #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
mail.ru не поддерживает imap, придётся юзать устаревший pop3. Вход в свой ящик:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <ostream>
#include <windows.h> // CharToOem
#include <boost/asio.hpp>
typedef boost::asio::ip::tcp tcp;
 
boost::asio::streambuf reqBuf, respBuf;
std::ostream reqStream(&reqBuf);
tcp::socket* psock;
 
void SendRequest(std::string s){
    reqStream<<s<<"\r\n";
    boost::asio::write(*psock, reqBuf);
}
 
void PrintResponse(){
    boost::asio::read_until(*psock, respBuf, "\r\n");
    std::cout<<&respBuf;
}
 
int main(){
    try{
        std::string server="pop3.mail.ru"; // почтовый сервер
        boost::asio::io_service io;
        tcp::resolver resolver(io);
        tcp::resolver::query q(server, "pop3");
        tcp::resolver::iterator it = resolver.resolve(q);
        tcp::resolver::iterator endit;
        tcp::socket sock(io);
        psock=&sock;
        boost::system::error_code err = boost::asio::error::host_not_found;
        while (err && it != endit){
            sock.close();
            sock.connect(*it++, err);
        }
        if (err) throw boost::system::system_error(err);
        PrintResponse();
        SendRequest("user myname");// логин
        PrintResponse();
        SendRequest("pass mypassword");//пароль
        PrintResponse();
        sock.shutdown(tcp::socket::shutdown_both);
        sock.close();
    }
    catch (std::exception& e){
        char buf[512];
        CharToOem(e.what(), buf);
        std::cout << "Exception: " << buf << "\n";
    }
    return 0;
}
а дальше вот
http://ru.wikipedia.org/wiki/POP3
v0l0d1ka
9 / 9 / 0
Регистрация: 14.12.2010
Сообщений: 127
03.07.2011, 15:52  [ТС]     E-mail чекер #4
Вот такой "набросок" получился:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "stdafx.h"
#include <CkMailMan.h>
#include <cstdlib>
#include <cstdio>
#include <Windows.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    
    CkMailMan mailman;
    bool success;
    success = mailman.UnlockComponent("30-day trial");
    if (success != true) 
        printf("Component unlock failed\n");
    //  Set the POP3 server's hostname
    mailman.put_MailHost("pop.mail.ru");
 
    //  Set the POP3 login/password.
    mailman.put_PopUsername("user");
    mailman.put_PopPassword("passwd");
 
    //  Get the number of messages in the mailbox.
    int numMessages;
 
    numMessages = mailman.GetMailboxCount();
    printf("%d\n",numMessages);
    system("pause");
 
 
    return 0;
}
Компилятор Visual Studio 2010 выдает

1>c:\program files\microsoft visual studio 10.0\vc\include\ckstring.h(105): error C2061: синтаксическая ошибка: идентификатор "SYSTEMTIME"
1>c:\program files\microsoft visual studio 10.0\vc\include\ckstring.h(107): error C2061: синтаксическая ошибка: идентификатор "SYSTEMTIME"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Никак не пойму, почему не работает.
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.07.2011, 11:13     E-mail чекер #5
Цитата Сообщение от v0l0d1ka
Например на mail.ru или yahoo.com.
yahoo.com не предоставляет pop3
Yandex
Объявления
04.07.2011, 11:13     E-mail чекер
Ответ Создать тему
Опции темы

Текущее время: 06:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru