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

dev с++ Отправка на мыло файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Целочисленная таблица умножения дробей http://www.cyberforum.ru/cpp-beginners/thread916655.html
Используйте преимущество ООП, заключающееся в том, что однажды созданный класс можно помещать в другие программы. Создайте новую программу, которая будет включать класс fraction, созданный в упраж-нении 11. Программа должна выводить аналог целочисленной таблицы умножения для дробей. Пользователь вводит знаменатель, а программа должна подобрать всевозможные целые значения числителя так,...
C++ Как использовать указатели? проблемы с указателями как правильно использовать, подскажите? #include <iostream> using namespace std; template <class T> struct Node { T value; Node *son; Node *brother; Node() http://www.cyberforum.ru/cpp-beginners/thread916649.html
Графика: Узор образован 20 вложенными квадратами C++
Добрый вечер! На практике дали такое задание. Начертить узор. Узор образован 20 вложенными квадратами. Стороны первого квадрата параллельны осям координат экрана и равны 60. Вершины каждого последующего квадрата - это точки на сторонах предыдущего квадрата, делящие эти стороны в отношении 1 к 1. Я изучал только делфи и си не знаю.И написал код на делфи. Мне нужно перевести этот код на...
C++ Как написать программу под эти условия
Суть в чём: есть список товара (багет 150 видов) с указанной ценой и шириной за метр, все цены разные, так же как и ширина непосредственно багета. Необходимо, чтобы в программе можно было ввести номер или код багета, а так же размеры будущей рамки длина - ширина, а в результате получить стоимость рамки + ширина багета умноженная на 10 (отходы). + как доп. опция отметить стекло. На сколько я...
C++ Задача "Железнодорожный узел" http://www.cyberforum.ru/cpp-beginners/thread916609.html
Железнодорожный сортировочный узел устроен так, как показано на ри-сунке. На правой стороне собрано в произвольном порядке несколько вагонов обоих типов по N штук. Тупик может вмещать все 2N вагонов. Пользуясь тремя сортировочными операциями: В, ИЗ, МИМО, собрать вагоны на левой стороне так, чтобы типы чередовались. Для решения задачи достаточно 3N-1 сортировочных операций. Не понимаю даже с...
C++ Чтение из файла Первый раз пишу программу такого типа, подскажите как правильно надо, я написал вот так, но пишет нарушение прав доступа при чтении, не могу понять как надо char fname="C://MyFile.txt"; FILE* f; f=fopen(fname,"rt"); TComposition* ptr=NULL; if (f) { while (!feof(f)) { подробнее

Показать сообщение отдельно
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 7
03.07.2013, 13:11     dev с++ Отправка на мыло файла
Как отправить E-mail Dev C++

Добавлено через 1 час 32 минуты
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
#include <iostream>
#include <winsock.h>
#include <cstring>
#include <conio.h>
#pragma pack(1)
#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 = "smtp.mail.ru"; // почтовый сервер ящика отправителя
    hostent *h = 0;
    char login[] = "pochka76@mail.ru", password[] = "qwertyqwerty"; // имя и пароль ящика отправителя
    char fileContent[] = "Это содержимое файла."; // содержимое файла
    char seventhString[1024] =
        "from:<pochka76@mail.ru>\r\n" // ящик отправителя
        "to:<pochka83@mail.ru>\r\n"  // ящик получателя
        "subject: Это тема письма (должна быть в utf-8)\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:<pochka76@mail.ru>\r\n", // ящик отправителя
        "rcpt to:<pochka83@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;
    if(rc = WSAStartup(MAKEWORD(1, 1), &WSAData))
        return __LINE__;
    nSMTPServerSocket = socket(PF_INET, SOCK_STREAM, 0);
    if(nSMTPServerSocket != INVALID_SOCKET)
    {
        smtp_address.sin_family = AF_INET;
        if ((h = gethostbyname(hostname)) == 0)
        {
            printf("gethostbyname failed\n");
            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\n", 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;
}
 
Текущее время: 05:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru