Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отправка почты с помощью С++ (например в MFC)

22K
12 ноября 2006 года
Агата
3 / / 12.11.2006
Люди, кто писал код на C++ для отправки почты на мейл?
Можете выложить исходники? У меня есть функция отправки на мыльник,
но почему-то она не пашет!
Делал так: в Visual C++ создавал проект MFC, ставил в Advanced
Features галочку Windows Sockets.
Потом в InitInstance() вставлял код:
--------------------------------К=О=Д-----------------------------
void SendMail(void)
{
SOCKET nSMTPServerSocket;
struct sockaddr_in smtp_address;
int nConnect;
int iLength;
int iMsg = 0;
int iEnd = 0;
BYTE sBuf[4096];

char *MailMessage[] =
{
"HELO axel.ru\r\n",
"MAIL FROM:<otpravitel@rambler.ru>\r\n", // адрес отправителя
"RCPT TO:<toros64@rambler.ru>\r\n", // адресок получателя
"DATA\r\n",
"Пробное сообщение\r\n\r\n.\r\n", // тело сообщения
"QUIT\r\n",
NULL
};

nSMTPServerSocket = socket(PF_INET, SOCK_STREAM, 0);

if(nSMTPServerSocket != INVALID_SOCKET) {
smtp_address.sin_family = AF_INET;
// далее вносим в структуру IP-адрес сервера, через который пойдёт письмо
smtp_address.sin_addr.s_addr = inet_addr("81.19.66.20");
smtp_address.sin_port = htons(25);

nConnect = connect(nSMTPServerSocket, (PSOCKADDR)&smtp_address,
sizeof(smtp_address));

if(nConnect) {
}
else {
do {
iLength = recv(nSMTPServerSocket, (LPSTR)sBuf+iEnd, sizeof(sBuf)-iEnd, 0);
iEnd += iLength;
sBuf[iEnd] = '\0';
send(nSMTPServerSocket, (LPSTR)MailMessage[iMsg], strlen(MailMessage[iMsg]), 0);
iMsg++;
} while(MailMessage[iMsg]);
}

closesocket(nSMTPServerSocket);
}
}
----------------------------К=О=Н=Е=Ц--------------------------------

Вобщем как видите, письмо шло на рамблеровскую почту.
Айпишник рамблера, узнавал по команде PING pop3.rambler.ru.
Может проблема в том, что я сижу в локалке и провайдер
перекрыл 25 порт?
Если кто хочет и может, проверьте код, может у меня настройки глючные (
22K
13 ноября 2006 года
Агата
3 / / 12.11.2006
Ребята! Кто пробовал это в MFC сделать? получилось что-нибудь?
398
13 ноября 2006 года
Alexandoros
630 / / 21.10.2005
Что не пашет-то? Конект ошибку возвращает или вообще не компилируется, или вместо одного адреса на другой шлет???? А другую почтовую програму, тот же бат, пробовала? Може и внатуре перекрыто все?
354
13 ноября 2006 года
ШпиЁн
468 / / 19.02.2006
в который раз уже выкладываю этот пример, неужели так трудно воспользоваться поисковиком???

это не mfc, на api сделано, легко, просто, понятно и доступно, блин... :о)
23K
14 ноября 2006 года
buba80
1 / / 13.11.2006
to Агата
Функция должна работать. Толко не забудте сначала создать Сокет.


У Шпиена в коде
\\send(sock, "EHLO server\r\n", 13, 0); // поздоровались с сервером

кажется надо - HELO
42K
14 мая 2009 года
dnickolas
1 / / 03.09.2008
Цитата: buba80
to Агата
Функция должна работать. Толко не забудте сначала создать Сокет.


У Шпиена в коде
\\send(sock, "EHLO server\r\n", 13, 0); // поздоровались с сервером

кажется надо - HELO



Нет, всё правильно!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог