Я работаю над проектом, где мне нужно создать собственный почтовый сервер с SMTP. Все материалы SMTP работают нормально, но теперь я работаю над возможностью отправки вложений.Чтение в приложении через SMTP в C#
Что я делаю, я читаю данные, поступающие от клиента для вложения, которое входит в качестве базовой строки 64. Затем я декодирую строку базы 64 и записываю ее в файл, который мой почтовый сервер затем прикрепляет и пересылает получателю.
Это прекрасно работает при отправке txt-файла, но если я попытаюсь отправить что-нибудь еще, например docx, image и т. Д., Когда происходит декодирование, он выдает исключение, указав, что базовая 64-строка является недопустимой длиной.
Когда я копирую и вставляю базовую 64-строчную строку, которую я получаю в онлайн-инструмент преобразования, они не терпят неудачу, я получаю хотя бы часть правильного содержимого, когда смотрю на файл изображения в блокноте ++. Я вижу некоторые xml, который я также вижу в своей расшифрованной строке в онлайн-инструменте конверсии. Однако онлайн-инструмент имеет некоторые другие вещи, которые не совпадают.
Есть ли какая-то разница в том, как кодируется базовая 64-строчная строка при отправке мне или что-то нужно делать по-другому с расшифровкой базовой строки 64 между текстовыми файлами и файлами изображений.
Спасибо за любую помощь, которую вы можете предоставить.
Ну, сервер SMTP будет принимать многостраничное сообщение, которое будет включать вложения; поэтому, «ничего общего с вложениями» на самом деле не так. –
Что касается «Как сделать X?», SMTP-сервер не имеет ничего общего с вложениями, или, что более важно, он имеет столько же общего с ним, как и тип двигателя автомобиля, связанный с тем, как вы упаковываете свои одежду в багаже, когда вы совершаете поездку. – Jherico
Спасибо за помощь – Boardy