|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.03.2010, 17:28 | #1 |
Новичок
Джуниор
Регистрация: 24.03.2010
Сообщений: 1
|
кирилица в smtp
Всем привет!
Я пишу маленькую програмку, которая просто отправляет эл. почту по smtp. Связь с сервером делаю через winsock. Загвоздка в отображении русских букв в теме письма. Если в хедере при общении с сервером указать "Content-type: text/plain; charset=windows-1251\r\n", то в теле письма русские буквы отображаются нормально. Однако в теме письма стоит "ХХХХХХХХ". Как зделать, чтобы в теме письма русские символы отображались нормально? Вот мой код: int main() { char mailfrom[35] = "MAIL FROM:<mail@mail.ru>\r\n"; char mailto[256] = "RCPT TO:<testmail@mail.ru>\r\n"; char data[256] = "DATA\r\n"; char from[256] = "From: Админ\r\n"; char to[256] = "To: <testmail@mail.ru>\r\n"; char subject[256] = "Subject: тестовое сообщение\r\n"; char contentType[256] = "Content-type: text/plain; charset=windows-1251\r\n"; char contentTrEnc[256] = "Content-Transfer-Encoding: 8bit"; char message[256] = "Привет, это тест\r\n.\r\n"; char quit[56] = "QUIT\r\n"; ........ while(rc!=SOCKET_ERROR) { //EHLO char helo[256] = "EHLO localhost\r\n"; send(s, helo,strlen(helo),0); rc=recv(s,buf,256,0); buf[rc]='\0'; printf("\nServer (ehlo1): %s\n",buf); rc=recv(s,buf,256,0); buf[rc]='\0'; printf("\nServer (ehlo2): %s\n",buf); //AUTHORIZATION char auth[256] = "AUTH LOGIN\r\n"; send(s, auth,strlen(auth),0); rc=recv(s,buf,256,0); buf[rc]='\0'; printf("\nServer (auth): %s\n",buf); char user[256] = "тут кодированно пользовател =\r\n"; send(s, user,strlen(user),0); rc=recv(s,buf,256,0); buf[rc]='\0'; printf("\nServer (user): %s\n",buf); char pass[256] = "тут кодированно пароль\r\n"; send(s, pass,strlen(pass),0); rc=recv(s,buf,256,0); buf[rc]='\0'; printf("\nServer (pass): %s\n",buf); send(s, mailfrom, strlen(mailfrom), 0); recv(s, buf, 256, 0); cout <<"mail from :"<<buf<<endl; //recv(s, buf, 256, 0); //cout <<"mail from :"<<buf<<endl; send(s, mailto, strlen(mailto), 0); recv(s, buf, 256, 0); cout <<"mail to :"<<buf<<endl; send(s, data, strlen(data), 0); recv(s, buf, 256, 0); cout <<"DATA: "<<buf<<endl; //здесь говорю, что на русском send(s,contentType, strlen(contentType), 0); send(s, from, strlen(from), 0); send(s, subject, strlen(subject), 0); send(s, message, strlen(message), 0); recv(s, buf, 256, 0); cout <<"Message: "<<buf<<endl; send(s, quit, strlen(quit), 0); recv(s, buf, 256, 0); cout <<"quit: "<<buf<<endl; ......... Спасибо за ответы. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Некорректо отображается кирилица и перенос строки (\n) | POPOV | PHP | 7 | 11.11.2010 09:44 |
Кирилица в Паскале | zumm | Софт | 6 | 16.02.2010 21:41 |
Delphi SMTP | edmynt | Помощь студентам | 0 | 27.01.2010 20:57 |
SMTP | Volt | Работа с сетью в Delphi | 19 | 09.08.2009 20:48 |
Кирилица в C++ | ROD | Помощь студентам | 2 | 06.12.2008 14:50 |