Страница: 1 |
Получилось! Кто-то посоветовал отправлять данные так : В этом случае указание кодировки и в тексте, и если получить из строки массив байт, указав кодировку, а из него массив символов, ничего хорошего не выходит. А я тупо использовал. ,то все работает. Еще раз спасибо! Страница: 1 |
Вопрос: SMTP, кодировка
Добавлено: 19.09.03 12:50
Автор вопроса:
grayk
День добрый! Есть проблема. Отправляю почту (без аттачей, обыкновенный текст) через System.Net.Sockets.TcpClient. Все работает (послал строку - получил ответ и т.д.), почта отправляется. Но в Outlook прочесть это нельзя - кодировочка не подходит. Так вот, как указать эту самую кодировку при отправке сообщения? Пробовал вставить Content-Type: text/plain; charset="koi8-r", без толку. Кто знает, отзовитесь, пожалуйста!
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа: Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 19.09.03 14:45
У меня всё работает Ok... Насколько я помню, для отправки данных нужно
передавать не строку, а массив байт. Как раз тут нужно указывать
кодировку (при получении массива байт методом GetBytes класса
System.Text.Encoding).
Номер ответа: 2
Автор ответа: grayk
Вопросов: 5
Ответов: 100
Профиль | | #2
Добавлено: 19.09.03 17:21
Спасибо, Павел, буду пытаться.
Номер ответа: 3
Автор ответа: grayk
Вопросов: 5
Ответов: 100
Профиль | | #3
Добавлено: 22.09.03 11:04
(dim tcp as tcpclient)
Private Sub SendData(ByVal data As String)
Dim writer As New IO.StreamWriter(tcp.GetStream)
writer.Write(data)
writer.Flush()
End Sub
А если так :
Private Sub SendData(ByVal data As String)
Dim se As Text.Encoding = Text.Encoding.GetEncoding("koi8-r")
Dim db() As Byte = se.GetBytes(data)
With tcp.GetStream
.Write(db, 0, db.Length)
.Flush()
End With
End Sub