прикрепить файл с электронной почтой с другого сервера (URL)?руководство - PullRequest
0 голосов
/ 17 марта 2011

На странице Asp.net я отправляю электронные письма с вложениями. Проблема заключается в том, что файлы для вложения хранятся на каком-то другом сервере. Пожалуйста, руководство, как прикрепить такой файл. Я пытался указать URL файла, но получил ошибку "Форматы URI не поддерживаются."

Message.Attachments.Add(new Attachment("http://domain.com/upload/cv.doc"));

Пожалуйста, подскажите, как прикрепить файл с другого сервера.

1 Ответ

1 голос
/ 17 марта 2011

Сначала загрузите файл с помощью HttpWebRequest внутри кода C # / Asp.Net, прочитайте результат с помощью StreamReader, сохраните его в локальном файле (при условии, что ваше приложение Asp.Net имеет такие права в файловой системе). Затем укажите имя файла вновь созданного файла.

Не забудьте удалить локальный файл, когда электронное письмо уже отправлено.

EDIT

Должен работать с прямым путем к файлу. Если файл находится на том же веб-сайте, попробуйте использовать это:

var filePath = HttpContext.Current.Server.MapPath("/someTempFile.dat"); // here / - is the website root.
//now use filePath as an argument to Attachment() constructor.

То же самое верно, если это файл, в который вы скачали файл с другого домена.

Если файл находится не под веб-сайтом, вам следует использовать путь, например

var filePath = "C:\SomeTempFolder\someTempFile.dat";

Надеюсь, это поможет!

...