Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];

Вниз

А как этот кусок на 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
3-857
VAleksey
2002-06-06 08:13
2002.07.01
dbGrid or dbGridEh . Columns и их св-ва


3-873
_dron_
2002-06-05 15:17
2002.07.01
Как настроить драйвер по кодировке для доступа ADO->Paradox


3-884
DmitryPV
2002-06-07 10:34
2002.07.01
Как поместить маску ввода в ячейку DBGrid?


1-957
chips
2002-06-19 15:42
2002.07.01
чтение файла


7-1220
Aleksey_K
2002-04-04 18:35
2002.07.01
Com порт





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский