1 / 1 / 0
Регистрация: 04.06.2012
Сообщений: 20
1

Отправка сообщения на email

10.09.2012, 13:33. Показов 4052. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хочу, что-бы программа при запуске отправляла мне на почту письмо.
То что нагуглил не работает. Помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2012, 13:33
Ответы с готовыми решениями:

Отправка сообщения другому окну с определенным интервалом
Мне надо отправлять нажатие клавиш с определенным интервалом другой программе. Вот я отправляю...

Отправка email-сообщения на smtp сервер с ssl
Помогите написать программу на c++, отправляющую email сообщение на smtp сервер с ssl.

Отправка email сообщения
Как можно сделать такого рода задачу. Есть сайт с продукцией. Есть таблица с характеристиками...

Отправка текстового сообщения на email
Доброго времени суток. Запрограммировал отправление текстового сообщения на пошту вроде все...

3
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
11.09.2012, 09:55 2
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
#include <windows.h>
#include <winsock.h>
#include <cstring>
#include <cstdio>
#include <conio.h>
#pragma pack(1)
#pragma 
 
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()
{
    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.mail.ru"; // почтовый сервер ящика отправителя
    hostent *h = NULL;
    char login[] = "senderName", password[] = "senderPassword"; // имя и пароль ящика отправителя
    char MailMessage[][128] =
    {
        "EHLO mail.ru\r\n",
        "AUTH LOGIN\r\n",
        "",
        "",
        "mail from:<senderName@mail.ru>\r\n", // ящик отправителя
        "rcpt to:<receiverName@yandex.ru>\r\n", // ящик получателя
        "data\r\n",
        "from:<senderName@mail.ru>\r\n" // ящик отправителя
        "to:<receiverName@yandex.ru>\r\n" // ящик получателя
        "subject: some subject\r\n"
        "Hello, there!\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);
    }
    getchar();
    return 0;
}
Добавлено через 18 часов 21 минуту
то же самое на Poco
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
#include <iostream>
#include <Poco/Net/SMTPClientSession.h>
#include <Poco/Net/MailMessage.h>
#include <Poco/Net/MailRecipient.h>
namespace pn = Poco::Net;
 
int main()
{
    try
    {
        pn::SMTPClientSession cs("smtp.mail.ru");
        cs.login("mail.ru", pn::SMTPClientSession::LoginMethod::AUTH_LOGIN, "senderName", "password");
        pn::MailRecipient mr;
        mr.setAddress("receiverName@yandex.ru");
        mr.setType(pn::MailRecipient::PRIMARY_RECIPIENT);
        pn::MailMessage mm;
        mm.addRecipient(mr);
        mm.setSender("senderName@mail.ru");
        mm.setSubject("Greeting");
        mm.setContent("Hello, there!");
        cs.sendMessage(mm);
        cs.close();
    }
    catch(std::exception const& e)
    {
        std::cerr << "Exception: " << e.what() << std::endl;
    }
    return 0;
}
1
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
09.02.2016, 15:41 3
Знаю, что тему стара как ***** мамонта. Но как с помощью poco прикрепить сообщение для отправки на почту?
0
0 / 0 / 0
Регистрация: 28.07.2014
Сообщений: 4
23.05.2016, 20:39 4
с poco у меня почему то не работает, выдает исключение...
0
23.05.2016, 20:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2016, 20:39
Помогаю со студенческими работами здесь

Отправка сообщения на email при нажатии на ссылку
Добрый день! Имеется .html файл, в котором есть ссылка типа &lt;a href=&quot;...&quot;...

System.Net.Mail.SmtpException Отправка сообщения на EMail
Есть код отправки сообщения на мыло: public void SendToEMail(string toEmail, string...

Отправка email сообщения с аттачментом (ASP или ASP.NET)
Помогите! Нашла много примеров, но ни один не работает :-( пример (ASP.NET), скачанный отсюда ...

Отправка файлов по имени (email.pdf) на email
Всем привет! Есть куча файлов (около 160) каждый файл называется именем e-maila на который должен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru