Форум программистов, компьютерный форум 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) подробнее

Показать сообщение отдельно
BuJIJI
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 42
20.11.2012, 15:17     Нужно отправить данные письмом
Не понимаю как мне прикрепить файл который создаётся в программе.
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
#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;
const int MAX_ANSWERS = 20;
double answ[MAX_ANSWERS+1] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
int an=0;
int neg;
int a;
float ans[MAX_ANSWERS];
int g;
char Itog[];
float proc;
double Persent(double a, double b)
 
{
return a/b*100;
}
 
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 ()
{
    system("start Test4.doc");
 
    time_t rawtime;
 struct tm * timeinfo;
  time ( &rawtime );
 timeinfo = localtime ( &rawtime );
 
    // Подключение внешних файлов
    ifstream fin("LogOcenok.txt");
    ofstream fout("LogOcenok.txt");
 
    setlocale(LC_ALL,"Russian");
g:
    an++;
    cout << "Введите ответ на "<<an<<" вопрос"<<endl;
    cin >> ans[an];
    fin >> ans[an];
    if(ans[an] != answ[an])
    {
        neg++;
    }
        if(an != MAX_ANSWERS)
    {
        goto g;
        }
        cout << "[" << asctime (timeinfo) << "]" << endl;
        fout << "[" << asctime (timeinfo) << "]" << endl;
 
        if(an == MAX_ANSWERS)
    {
        for(int i=1;i<MAX_ANSWERS+1;i++)
        {
            cout << "Правильный ответ на вопрос "<<i<<"         "<< answ[i]<<endl;
            fout << "Правильный ответ на вопрос "<<i<<"         "<< answ[i]<<endl;   
        }
        for(int i=1;i<MAX_ANSWERS+1;i++)
        {
            cout << "Ваш ответ на вопрос "<< i<<"         "<<ans[i]<<endl;
            fout << "Ваш ответ на вопрос "<< i<<"         "<<ans[i]<<endl;
 
        }
        if(neg == 0){proc = 100;}
        else
        {
            proc = Persent(neg,MAX_ANSWERS);
        cout<<"Итого :"<<endl;
        cout <<"Всего вопросов: "<<MAX_ANSWERS<<endl;
        cout<< "Неправильно : "<<neg<<endl;
        cout <<"Процент :"<<proc<<endl;
        fout<<"Итого :"<<endl;
        fout <<"Всего вопросов: "<<MAX_ANSWERS<<endl;
        fout<< "Неправильно : "<<neg<<endl;
        fout <<"Процент :"<<proc<<endl;
        if(proc <= 10)
        {
            cout << "Оценка 5"<<endl;
            _getch();
            fout << "Оценка 5"<<endl;
            goto a;
        }
            if(proc <= 30)
        {
            cout << "Оценка 4"<<endl;
            fout << "Оценка 4"<<endl;
            _getch();
            goto a;
        }
                if(proc <= 50)
        {
            cout << "Оценка 3"<<endl;
            fout << "Оценка 3"<<endl;
            _getch();
            goto a;
        }
                    if(proc <= 100)
        {
            cout << "Оценка 2"<<endl;
            
            fout << "Оценка 2"<<endl;
            _getch();
            goto a;
        }
    }
a:
            SOCKET nSMTPServerSocket;
    struct sockaddr_in smtp_address;
    int nConnect, iMsg = 0, iEnd = 0, rc;
    char sBuf[4096] = {'\0'}, buffer2[240] = {'\0'};
    char hostname[80] = "smtp.yandex.ru"; // почтовый сервер ящика отправителя
    hostent *h = NULL;
    char login[] = "Pomakaron@yandex.ru", password[] = "9814fghtkm"; // имя и пароль ящика отправителя
    char MailMessage[][128] =
    {
        "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",
        "from:<Pomakaron@yandex.ru>\r\n", // ящик отправителя
        "to:<molekula602@mail.ru>\r\n" ,// ящик получателя
        "subject: Оценки",
        "Привет Макар!\r\n.\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"));
 
    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);
    }
        _getch();
 
}
// Закрытие файлов
 fin.close();
 fout.close();
}
Просто письмо спокойно передаётся. Вообще цель передать данные об оценках,так как через strcat в текст письма у меня не получилось прилепить данные об оценках.То я решил делать прикрепление.Хотя сам не знаю как.

Добавлено через 4 часа 0 минут
Мда...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru