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

Функция для отправки почты - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
nill
8 / 8 / 0
Регистрация: 16.08.2009
Сообщений: 415
18.08.2010, 13:12     Функция для отправки почты #1
Нужна самая простая функция для отправки емайлов из С++
то есть просто задать адрес почты, smpt сервер, текст сообщения и отправить письмо

Нашел пример на С но мне нужен именно С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
19.08.2010, 00:46     Функция для отправки почты #2
С работает в C++ программах
nill
8 / 8 / 0
Регистрация: 16.08.2009
Сообщений: 415
19.08.2010, 14:59  [ТС]     Функция для отправки почты #3
odip,
у меня не заработало, значит пример старый там 2001 год
мне нужно для VS 2008 самый простой пример на C++ чтобы отправить емайл
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
19.08.2010, 15:01     Функция для отправки почты #4
Если не трудно выложите пример. Может быть поправим.
nill
8 / 8 / 0
Регистрация: 16.08.2009
Сообщений: 415
19.08.2010, 15:17  [ТС]     Функция для отправки почты #5
http://www.cyberguru.ru/cpp-sources/...-visual-c.html
там в средине кода функция отправки почты
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
19.08.2010, 15:56     Функция для отправки почты #6
Вот пример получше:
http://www.cyberguru.ru/cpp-sources/...-serverom.html
Только с mail.ru без авторизации не получится отправить.
Чтобы авторизоваться нужно отправить команду AUTH PLAIN xxx
Где xxx - "login@mail.ru\0password" закодированный с помощью Base64. Подпробности в гугле.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
19.08.2010, 16:16     Функция для отправки почты #7
Цитата Сообщение от Евгений М. Посмотреть сообщение
Чтобы авторизоваться нужно отправить команду AUTH PLAIN xxx
или AUTH LOGIN в зависимости от сервера
nill
8 / 8 / 0
Регистрация: 16.08.2009
Сообщений: 415
19.08.2010, 16:28  [ТС]     Функция для отправки почты #8
Евгений М.
спасибо за пример но он тоже не запускаеться


сделал кучу инклудов осталась такая ошибка

temp.cpp(16) : error C2872: ws: неоднозначный символ
может быть 'temp.cpp(7) : WSADATA ws'
или 'ws'

ошибка ссылаеться на эту строчку кода

C++
1
if (FAILED (WSAStartup (MAKEWORD( 1,1 ), &ws)))
это самая первая строчка кода в функции main
вот полный код условия
C++
1
2
3
4
5
    // инициализируем сокеты
    if (FAILED (WSAStartup (MAKEWORD( 1,1 ), &ws))) 
    { 
        printf("Error in WSAStartup(...)\n");
        return 1; }
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.08.2010, 16:31     Функция для отправки почты #9
nill, дело не в примере - подключите Ws2_32.lib к проекту.
nill
8 / 8 / 0
Регистрация: 16.08.2009
Сообщений: 415
19.08.2010, 16:40  [ТС]     Функция для отправки почты #10
CyBOSSeR,
А как ее подключить в Visual Studio 2008 ?
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.08.2010, 16:43     Функция для отправки почты #11
Либо в настройках проекта либо через:
C++
1
#pragma comment(lib, "Ws2_32")
nill
8 / 8 / 0
Регистрация: 16.08.2009
Сообщений: 415
19.08.2010, 17:03  [ТС]     Функция для отправки почты #12
Скомпилировал наконец но письма не идут

Цитата Сообщение от Евгений М. Посмотреть сообщение
Вот пример получше:
http://www.cyberguru.ru/cpp-sources/...-serverom.html
Только с mail.ru без авторизации не получится отправить.
Чтобы авторизоваться нужно отправить команду AUTH PLAIN xxx
Где xxx - "login@mail.ru\0password" закодированный с помощью Base64. Подпробности в гугле.
Попробовал на gmail.com ничего не пришло

А куда именно прописать AUTH PLAIN xxx ?
закодировать в base64 я думаю смогу но в коде то куда именно это вставить ?
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
19.08.2010, 17:09     Функция для отправки почты #13
Цитата Сообщение от nill Посмотреть сообщение
А куда именно прописать AUTH PLAIN xxx ?
закодировать в base64 я думаю смогу но в коде то куда именно это вставить ?
Читайте RFC. Там есть примеры.
nill
8 / 8 / 0
Регистрация: 16.08.2009
Сообщений: 415
19.08.2010, 18:33  [ТС]     Функция для отправки почты #14
fasked,
мне там вообще ничего не понятно

Добавлено через 1 час 17 минут
запустил вот этот скрипт
http://www.codeproject.com/KB/IP/CSmtp.aspx

пишет Error: Server returned error after sending AUTH LOGIN

использовал gmail.com
логин писал с @ и без ошибка таже

чего ему надо вообще там в описаниях к коду пишут что на gmail.com он работает
у себя пробовал на двух компах без фаервола ничего не работает

вот настройки которые вбиваються в коде что тут для gmail можно по другому написать ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
mail.SetSMTPServer("smtp.gmail.com",25);
        mail.SetLogin("moi_login@gmail.com");
        mail.SetPassword("parol");
        mail.SetSenderName("moi_login");
        mail.SetSenderMail("moi_login@gmail.com");
        mail.SetReplyTo("moi_login@gmail.com");
        mail.SetSubject("The message");
        mail.AddRecipient("moi_login@gmail.com");
        mail.SetXPriority(XPRIORITY_NORMAL);
        mail.SetXMailer("The Bat! (v3.02) Professional");
        mail.AddMsgLine("Hello,");
        mail.AddMsgLine("");
        mail.AddMsgLine("...");
        mail.AddMsgLine("How are you today?");
        mail.AddMsgLine("hgh");
        mail.AddMsgLine("Regards");
        mail.ModMsgLine(5,"regards");
        mail.DelMsgLine(2);
        mail.AddMsgLine("User");
Сам код можно скачать прям в исходниках то есть никаких проблем с компиляцией
там регистрация нужна если кому надо могу так скинуть исходники
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2010, 21:48     Функция для отправки почты
Еще ссылки по теме:

Функция для перевыделения памяти для массива C++
Программа для отправки смс C++
C++ Создание эмулятора браузера для отправки запросов

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

Или воспользуйтесь поиском по форуму:
bambino
 Аватар для bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
20.08.2010, 21:48     Функция для отправки почты #15
#pragma comment (lib, "Ws2_32.lib") или в линкере добавить!
Yandex
Объявления
20.08.2010, 21:48     Функция для отправки почты
Ответ Создать тему
Опции темы

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