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

Нужно отправить данные письмом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Игра "Угадай слова" через массивы! http://www.cyberforum.ru/cpp-beginners/thread703007.html
Получил такое задание! Помогите разобраться! Хотя бы какие то наброски подскажите! Написать игру! Создать массив с 20 словами. В начале игры с помощью случайного генератора чисел выбрать одно. Буквы выводить точками - "." соответственно числу букв в слове после удачного попадания точку заменить на букву ( во всех местах где эта буква ) Буквы вводить без помощи ENTER! За неправильную...
C++ Кто посмотрит как сделать несколько задач?) Задача 1 Заданы числа a,b,c. Удвоить эти числа a>=b>=c и заменить их на абсолютные значения, если это не так. Задача 2 Задано целое число n. Вычислить S=1+1/1!+1/2!+...+1/n! Задача 3 Задано целое положительное число. Определить количество цифр в этом числе и их сумму. Задача 4 Задан массив целых чисел. Увеличить все элементы этого массива начиная с первого положительного элемента в... http://www.cyberforum.ru/cpp-beginners/thread702972.html
C++ Ошибка в коде
#include <fstream> using namespace std; ifstream fin ("input.txt"); ofstream fout ("output.txt"); int x,y,x1,y1,x2,y2,x3,y3,p1,p2,p3; int main() { fin>>x>>y;
C++ Указатель на 2мерный массив в функцию
Добрый день, уважаемые. Столкнулся вот с какой проблемой. Хотелось бы отправлять в функцию указатель на свой 2х мерный массив чтоб после ее отработки массив содержал данные. На сайтах много примеров исполняющих подобное действо, но я так и не смог добиться положительных результатов(( Пришел к выводу что лучше использовать vector < int > > указатель на который можно в функцию послать, но как...
C++ 16ые цифры, поразрядные операции. Максимальное число http://www.cyberforum.ru/cpp-beginners/thread702945.html
Вот мои наработки, помогите из них собрать рабочую версию..#include <vcl.h> #include <stdio.h> #include <conio.h> int str_ch (int n1,int n2); void main() { int n1,n2; printf ( "\n Rabota 8 \n");
C++ Напечатать только те символы, которые встречаются только в одном из слов Даны два слова, напечатать только те символы, которые встречаются только в одном из слов. Например, для слов процессор и информация. Ответом должно быть: пессифмая. Я создал: #include "stdafx.h" #include "clocale" #include "string.h" #include "conio.h" #include "windows.h" void num_of_char(char *word1, char *word2, int len1, int len2, int *count) подробнее

Показать сообщение отдельно
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
20.11.2012, 16:51     Нужно отправить данные письмом
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <iostream>
#include <fstream>
#include <time.h>
#include <stdio.h>
 #include <windows.h>
#include <winsock.h>
#include <cstring>
#include <cstdio>
#include <conio.h>
#pragma pack(1)
#pragma
#pragma comment(lib,"Ws2_32.lib")
using namespace std;
 
void Base64Encode(const char* pText, char* pResBuf, std::size_t bufLen)
{
    static union
    {
        char arr[3];
        struct
        {
            unsigned a1 : 6, a2 : 6, a3 : 6, a4 : 6;
        } s;
    };
    static char ini[] = {"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"};
    memset(pResBuf, '\0', bufLen);
    int size = std::strlen (pText);
    int i, j, k;
    for(i = 0, k = 0; i < size;)
    {
        arr[0] = arr[1] = arr[2] = '\0';
        for(j = 2; j >= 0 && i < size; --j, ++i)
        {
            arr[j] = pText[i];
        }
        pResBuf[k++] = ini[s.a4];
        pResBuf[k++] = ini[s.a3];
        pResBuf[k++] = (1 > j ? ini[s.a2] : '=');
        pResBuf[k++] = (0 > j ? ini[s.a1] : '=');
    }
    return;
}
 
int main ()
{
    setlocale(LC_ALL,"Russian");
    SOCKET nSMTPServerSocket;
    struct sockaddr_in smtp_address;
    int nConnect, iMsg = 0, iEnd = 0, rc;
    char sBuf[4096] = {'\0'}, buffer2[512] = {'\0'};
    char hostname[80] = "smtp.yandex.ru"; // почтовый сервер ящика отправителя
    hostent *h = NULL;
    char login[] = "Pomakaron@yandex.ru", password[] = "9814fghtkm"; // имя и пароль ящика отправителя
    char fileContent[] = "Это содержимое файла."; // содержимое файла
    char seventhString[1024] =
        "from:<Pomakaron@yandex.ru>\r\n" // ящик отправителя
        "to:<molekula602@mail.ru>\r\n"  // ящик получателя
        "subject: Оценки\r\n"
        "Mime-Version: 1.0\r\n"
        "Content-Type: multipart/mixed; boundary=bound\r\n"
        "\r\n--bound\r\n"
        "Content-type: text/plain; charset=windows-1251\r\n"
        "Content-Transfer-Encoding: quoted-printable\r\n\r\n"
        "Привет Макар!\r\n" //текст письма
        "\r\n--bound\r\n"
        "Content-Type: text/plain; name=file.txt\r\n" // имя файла
        "Content-Transfer-Encoding: base64\r\n"
        "Content-Disposition: attachment\r\n\r\n";
    char seventhStringMiddle[512];
    char seventhStringEnd[] = "\r\n--bound--\r\n.\r\n";
 
    char MailMessage[][1024] =
    {
        "EHLO mail.ru\r\n",
        "AUTH LOGIN\r\n",
        "",
        "",
        "mail from:<Pomakaron@yandex.ru>\r\n", // ящик отправителя
        "rcpt to:<molekula602@mail.ru>\r\n", // ящик получателя
        "data\r\n",
        "",
        "QUIT\r\n"
    };
 
    Base64Encode(login, buffer2, sizeof(buffer2));
    strcpy(MailMessage[2], strcat(buffer2,"\r\n"));
 
    Base64Encode(password, buffer2, sizeof(buffer2));
    strcpy(MailMessage[3], strcat(buffer2,"\r\n"));
 
    Base64Encode(fileContent, seventhStringMiddle, sizeof(seventhStringMiddle));
    strcat(seventhString, strcat(strcat(seventhStringMiddle,"\r\n"), seventhStringEnd));
    strcpy(MailMessage[7], seventhString);
 
    WSADATA WSAData;
    rc = WSAStartup(MAKEWORD(1, 1), &WSAData);
    if(rc) return __LINE__;
    nSMTPServerSocket = socket(PF_INET, SOCK_STREAM, 0);
    if(nSMTPServerSocket != INVALID_SOCKET)
    {
        smtp_address.sin_family = AF_INET;
        h = gethostbyname(hostname);
        if (h == NULL)
        {
            printf("error: Could not resolve ");
            getchar();
            return __LINE__;
        }
        smtp_address.sin_addr.s_addr = inet_addr(inet_ntoa(*(reinterpret_cast<in_addr*>(h->h_addr))));
        smtp_address.sin_port = htons(25);
        nConnect = connect(nSMTPServerSocket, (PSOCKADDR)&smtp_address,
                                                            sizeof(smtp_address));
        if(!nConnect)
        {
            iMsg = iEnd = 0;
            do
            {
                iEnd = recv(nSMTPServerSocket, sBuf, sizeof(sBuf), 0);
                sBuf[iEnd] = '\0';
                printf("Answer: %s", sBuf);
                printf("Request: %s", MailMessage[iMsg]);
                send(nSMTPServerSocket, MailMessage[iMsg], strlen(MailMessage[iMsg]), 0);
                iMsg++;
            } while(iMsg < int(sizeof(MailMessage) / sizeof(*MailMessage)));
            iEnd = recv(nSMTPServerSocket, sBuf, sizeof(sBuf), 0);
            sBuf[iEnd] = '\0';
            printf(sBuf);
        }
        closesocket(nSMTPServerSocket);
    }
    getchar();
    return 0;
}
 
Текущее время: 10:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru