Как отправить почту с вложением большого размера с помощью System.Net.Mail в Google Apps?

Я пытаюсь отправить письмо с вложением большого размера до (1 МБ, 2 МБ). Но отправка почты не удалась (отправка в Google Apps) как:

MailItemEntry[] entries = new MailItemEntry[1];
String EmlPath = "C:\\testemail.eml";                                        
String msg = File.ReadAllText(EmlPath);
entries[0] = new MailItemEntry();
entries[0].Rfc822Msg = new Rfc822MsgElement(msg);

Как я могу разделить вложения на составные части?

Исключение, которое я получаю при переносе этого EML в приложения Google: {"Запрос был прерван: запрос был отменен."

Вопрос на форуме Google


person Preeti    schedule 19.05.2010    source источник
comment
В каком формате файл прикреплен?   -  person Rippo    schedule 19.05.2010
comment
Любой тип файла. В моем случае я загружаю файлы в формате pdf.   -  person Preeti    schedule 19.05.2010


Ответы (4)


Одним из решений может быть использование составных zip-файлов (или другого формата сжатия, поддерживающего аналогичную концепцию) и отправка каждого файла отдельным электронным письмом.

По крайней мере, GZip также поддерживает многокомпонентное сжатие, хотя я не думаю, что zip или gz имеют действительно хорошую поддержку в .NET для составных файлов.

Лучше всего для любого из них, вероятно, использовать #ziplib.

person Matthew Scharley    schedule 19.05.2010
comment
Исключение: не удалось найти имя типа или пространства имен «Test» (вам не хватает директивы using или ссылки на сборку? То же самое для пространства имен TestFixture. - person Preeti; 19.05.2010
comment
@Preeti: я раньше не использовал #ziplib с каким-либо реальным успехом, поэтому я, вероятно, не тот человек, которого стоит спрашивать о том, как с ним работать. Прости. - person Matthew Scharley; 20.05.2010

Если вы пытаетесь отправить, например. файл WMV размером 2 МБ, а ваш почтовый шлюз позволяет вкладывать только ~ 500 КБ, это просто не сработает. Вы не можете произвольно разделить WMV-файл — получателю электронной почты потребуется то же программное обеспечение, чтобы «соединить» резервные копии.

Существуют архивные утилиты, такие как WinRAR, которые позволяют создавать архивы, разделенные на фрагменты настраиваемого размера. Затем вы можете либо отправить много вложений в одном письме, либо много писем с отдельными вложениями.

Более простым решением было бы загрузить файл куда-нибудь и поместить ссылку в электронное письмо, чтобы загрузить файл позже. Это может быть ваш собственный HTTP- или FTP-сервер, или существует множество сторонних сервисов, которые позволяют вам это сделать, YouSendIt кажется популярным.

person JBRWilkinson    schedule 19.05.2010

Я знаю, что это не совсем ответ, но в моем тестировании я смог без проблем отправлять вложения размером до 3 МБ. Вы уверены, что не сталкиваетесь с ограничением, наложенным вашим smtp-хостом на размеры исходящих вложений?

person Bob G    schedule 19.05.2010

Прежде чем все отправятся в погоню за дикими гусями, может ли оригинальный автор опубликовать текст исключения, который они видят?

Это может быть что угодно: от таймаута веб-сервера до того, что почтовый сервер не принимает большие вложения, до отсутствия надлежащих разрешений.

Без просмотра текста исключения и трассировки стека эти пустые вопросы могут оказаться бесполезными.

Не пытаюсь показаться грубым или что-то в этом роде, но чем больше информации предоставлено с вопросом, тем легче на него ответить.

person dave wanta    schedule 19.05.2010