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

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

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

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

18.08.2010, 13:12. Просмотров 2661. Ответов 14
Метки нет (Все метки)

Нужна самая простая функция для отправки емайлов из С++
то есть просто задать адрес почты, smpt сервер, текст сообщения и отправить письмо

Нашел пример на С но мне нужен именно С++
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2010, 13:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция для отправки почты (C++):

Simple MAPI для отправки почты в приложении - C++
Добрый день. Возникла необходимость отправлять e-mail в приложении, не нагружая пользователя запуском почтовика и необходимостью каждый...

функция проверки правильности написания адреса почты - C++
Написать функцию проверки правильности написания адреса почты. Функция возвращает указатель на переданную в неё строку с адресом почты,...

функция проверки правильности написания адреса почты (под DevC++ - C++
Написать функцию проверки правильности написания адреса почты. Функция возвращает указатель на переданную в неё строку с адресом почты,...

Подскажите библиотеку для рассылки почты - C++
Подскажите библиотеку на c/c++ для рассылки почты, с возможностью дорассылки на адреса с временными ошибками, конструктором сообщения,...

Программа для отправки смс - C++
Привет всем :) ) Как отправить смс? Подскажыте, может есть какието функции? 3арание говорю спасибо!

Программа для отправки сообщения - C++
Привет всем. Может кто помочь? Задача следующая. Есть сервер, к которому подключается 10 человек. На этом сервере лежат 10 именных...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2010, 00:46 #2
С работает в C++ программах
1
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
19.08.2010, 14:59  [ТС] #3
odip,
у меня не заработало, значит пример старый там 2001 год
мне нужно для VS 2008 самый простой пример на C++ чтобы отправить емайл
0
Евгений М.
1035 / 976 / 54
Регистрация: 28.02.2010
Сообщений: 2,829
Завершенные тесты: 2
19.08.2010, 15:01 #4
Если не трудно выложите пример. Может быть поправим.
0
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
19.08.2010, 15:17  [ТС] #5
http://www.cyberguru.ru/cpp-sources/...-visual-c.html
там в средине кода функция отправки почты
0
Евгений М.
1035 / 976 / 54
Регистрация: 28.02.2010
Сообщений: 2,829
Завершенные тесты: 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. Подпробности в гугле.
1
fasked
Эксперт С++
4936 / 2516 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.08.2010, 16:16 #7
Цитата Сообщение от Евгений М. Посмотреть сообщение
Чтобы авторизоваться нужно отправить команду AUTH PLAIN xxx
или AUTH LOGIN в зависимости от сервера
0
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
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; }
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.08.2010, 16:31 #9
nill, дело не в примере - подключите Ws2_32.lib к проекту.
0
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
19.08.2010, 16:40  [ТС] #10
CyBOSSeR,
А как ее подключить в Visual Studio 2008 ?
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.08.2010, 16:43 #11
Либо в настройках проекта либо через:
C++
1
#pragma comment(lib, "Ws2_32")
1
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
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 я думаю смогу но в коде то куда именно это вставить ?
0
fasked
Эксперт С++
4936 / 2516 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.08.2010, 17:09 #13
Цитата Сообщение от nill Посмотреть сообщение
А куда именно прописать AUTH PLAIN xxx ?
закодировать в base64 я думаю смогу но в коде то куда именно это вставить ?
Читайте RFC. Там есть примеры.
0
nill
9 / 9 / 0
Регистрация: 16.08.2009
Сообщений: 417
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");
Сам код можно скачать прям в исходниках то есть никаких проблем с компиляцией
там регистрация нужна если кому надо могу так скинуть исходники
0
bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
20.08.2010, 21:48 #15
#pragma comment (lib, "Ws2_32.lib") или в линкере добавить!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2010, 21:48
Привет! Вот еще темы с ответами:

Программа для отправки sms - C++
Приветствую! Нужна программа для отправки sms с ноутбука! Отправить нужно много смс (смс рассылка). Как я понимаю это делается через модем,...

Реализация программы для отправки смс - C++
я только начинаю учиться этому языку и почти изучил процедурный раздел так вот и мне интересно можно ли написать программу отправки смс по...

Создание эмулятора браузера для отправки запросов - C++
Здорова! Как можно создать эмулятор браузера чтобы запросы были такие как и в реальном браузере. curl когда например используешь,...

Программа для отправки сообщений smtp с произвольного сервера (что-то вроде MDA) - C++
Нашёл в интернете, немного дороботал пример отправки сообщений через smtp. Ничего толкового не получилось, программа способна, так...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.08.2010, 21:48
Ответ Создать тему
Опции темы

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