Форум: Форум C++Разное
Новые темы: 00
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как отправить письмо через SMTP?
 
 автор: Fddd   (21.10.2007 в 21:46)   письмо автору
 
 

Как отправить письмо через SMTP?

  Ответить  
 
 автор: like-nix   (22.10.2007 в 23:48)   письмо автору
15.7 Кб
 
   для: Fddd   (21.10.2007 в 21:46)
 

С использованием ATL
Да и вообще требует IIS

  Ответить  
 
 автор: like-nix   (22.10.2007 в 23:53)   письмо автору
2 Кб
 
   для: Fddd   (21.10.2007 в 21:46)
 

А этот вариант я еще не пробывал попробуешь расскажеш как он рабочий или нет

  Ответить  
 
 автор: Fddd   (23.10.2007 в 22:12)   письмо автору
 
   для: like-nix   (22.10.2007 в 23:53)
 

Спасибо.
Поправьте, так как просто неграмотно по принципу разобрал.
Вот что собственно получилось.
Письмо доходит.


#include <iostream.h>
#include <winsock.h>

#define SMTP_PORT 25 
#define SMTP_ADDR "213.180.204.38" //IP - Яндекс сервиса


int main()
{
SOCKET  servsocket;
WSADATA WSAData;
struct sockaddr_in socketaddr;

/* Инициализация библиотеки Ws2_32.dll */
if(WSAStartup(MAKEWORD(1, 1), &WSAData) != 0) return FALSE;

/* Команды SMPT */
char *MailMessage[] = {};// -Тут массив SMTP команд

/* Открыть Сокет */
servsocket = socket(PF_INET, SOCK_STREAM, 0);
if (servsocket == INVALID_SOCKET) 
{
cout << "Error Create Socket\n";
exit(1);
else {
cout << "OK Create Socket\n";
}


/* Заполняем структуру sockaddr_in */
socketaddr.sin_family      = AF_INET;
socketaddr.sin_addr.s_addr = inet_addr(SMTP_ADDR); 
socketaddr.sin_port        = htons(SMTP_PORT);


/* Соединяемся с хостом */
if (connect(servsocket,(PSOCKADDR)&socketaddr, sizeof(socketaddr))) 
{
cout << "Error Connect\n";
exit(1);
else {
cout << "OK Connect\n";
}



/* ОТПРАВКА КОМАНД SMTP (MailMessage)*/
int iLength;
    int iMsg = 0;
    int iEnd = 0;
    BYTE sBuf[4096];

    do {
iLength = recv(servsocket, (LPSTR)sBuf+iEnd, sizeof(sBuf)-iEnd, 0);
iEnd += iLength;
sBuf[iEnd] = '\0';
send(servsocket, (LPSTR)MailMessage[iMsg], strlen(MailMessage[iMsg]), 0);
iMsg++;

    } while(MailMessage[iMsg]);


cout << sBuf << endl;


/* Закрыть Сокет*/
closesocket(servsocket);
/* Деинициализация библиотеки Ws2_32.dll */
WSACleanup();
return 0;
}

  Ответить  
 
 автор: Fddd   (27.10.2007 в 11:52)   письмо автору
 
   для: Fddd   (23.10.2007 в 22:12)
 

Всё с отправкой разобрался.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования