Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.01;
Скачать: CL | DM;

Вниз

А как этот кусок на C переписать под Delphi?   Найти похожие ветки 

 
sergio777   (2002-04-09 20:24) [0]

А как этот кусок на C переписать под Delphi? А то отправка через default-клиент (MAPI) не катит по нескольким причинам. 1)Если установлено несколько аккаунтов, то клиент просит сначала зайти в один из них (а данный юзер может и не быть юзером аккаунтов и не знать пароля); 2)на половине компов почтовый клиент вообще не настроен или его нет; 3)нужно использовать свой собственный SMTP-сервер, а не тот, что в почтовом клиенте; 4)прога не VCL-ная, и компоненты типа NMSMTP и прочие использовать нет возможности.
Может кто поможет переписать этот кусок в паскалевский вид?


void SendMail(void)
{
SOCKET nSMTPServerSocket;
struct sockaddr_in smtp_address;
int nConnect;
int iLength;
int iMsg = 0;
int iEnd = 0;
BYTE sBuf[4096];

char *MailMessage[] =
{
"HELO axel.ru\r\n",
"MAIL FROM:<vasya_pupkin@cool_mail.ru>\r\n", // адрес отправителя
"RCPT TO:<purpe@usa.net>\r\n", // адресок получателя
"DATA\r\n",
"Самое крутое сообщение!!!\r\n\r\n.\r\n", // тело сообщения
"QUIT\r\n",
NULL
};

nSMTPServerSocket = socket(PF_INET, SOCK_STREAM, 0);

if(nSMTPServerSocket != INVALID_SOCKET) {
smtp_address.sin_family = AF_INET;
// далее вносим в структуру IP-адрес сервера, через который пойдёт письмо
smtp_address.sin_addr.s_addr = inet_addr("212.96.192.1");
smtp_address.sin_port = htons(25);

nConnect = connect(nSMTPServerSocket, (PSOCKADDR)&smtp_address,
sizeof(smtp_address));

if(nConnect) {
}
else {
do {
iLength = recv(nSMTPServerSocket, (LPSTR)sBuf+iEnd, sizeof(sBuf)-iEnd, 0);
iEnd += iLength;
sBuf[iEnd] = "\0";
send(nSMTPServerSocket, (LPSTR)MailMessage[iMsg], strlen(MailMessage[iMsg]), 0);
iMsg++;
} while(MailMessage[iMsg]);
}

closesocket(nSMTPServerSocket);
}
}


 
DANTIST ©   (2002-04-20 15:00) [1]

Ну и "кусочек"!!!
Возьми любую книгу по С и Паскалю. Прочитай первые пару глав, там где про синтаксис и сам всё без проблем переведёшь! ;)
P.S. А то мы все люди занятые и инет у нас не халявный ;-)


 
Doom ©   (2002-04-20 15:29) [2]

пиши на С
Я хорошо прикинул и решил всю прогу писать на С . А неделю назад у меня точно такие же задачи были. Теперь думаю как клиент-сервера будут через мыло информацией обмениваться, чтоб не засекли.



Страницы: 1 вся ветка

Текущий архив: 2002.07.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-980
ЛенаК
2002-06-17 09:02
2002.07.01
Печать графика в масштабе


3-898
Voldemar
2002-06-07 02:45
2002.07.01
Кол-во записей в QuickReport


1-1033
PTE
2002-06-17 20:57
2002.07.01
Как объеденить одинаковые свойства для всех edit?


3-908
Chuk
2002-06-07 12:52
2002.07.01
Использование баз данных Paradox в локальной сети


14-1168
Snake2000
2002-05-20 10:10
2002.07.01
Девушки-хакеры