Mail Attachments
От: AGE  
Дата: 24.11.03 14:11
Оценка:
Можно ли с помощью классов .NET сформировать письмо с аттачментом, не создавая при этом самого файла.
То есть, есть строки собственно письма, которые пользователь будеть видеть, читая на экране это письмо, а есть
строки, которые надо оформить в виде аттачмента, но не хотелось бы создавать файл только для того,
чтобы его послать и сразу же удалить. С помощью того что есть в System.Web.Mail этого не сделать, я правильно понял?
Re: Mail Attachments
От: oRover Украина  
Дата: 24.11.03 20:31
Оценка:
Здравствуйте, AGE, Вы писали:

AGE>Можно ли с помощью классов .NET сформировать письмо с аттачментом, не создавая при этом самого файла.

AGE>То есть, есть строки собственно письма, которые пользователь будеть видеть, читая на экране это письмо, а есть
AGE>строки, которые надо оформить в виде аттачмента, но не хотелось бы создавать файл только для того,
AGE>чтобы его послать и сразу же удалить. С помощью того что есть в System.Web.Mail этого не сделать, я правильно понял?

не знаю, можно так или нет, но попробуй создать объект System.IO.File, не записывая его на диск и его приаттачить
... << RSDN@Home 1.1.0 stable >>
Re: Mail Attachments
От: Воронков Василий Россия  
Дата: 25.11.03 05:58
Оценка:
Здравствуйте, AGE, Вы писали:

AGE>Можно ли с помощью классов .NET сформировать письмо с аттачментом, не создавая при этом самого файла.

AGE>То есть, есть строки собственно письма, которые пользователь будеть видеть, читая на экране это письмо, а есть
AGE>строки, которые надо оформить в виде аттачмента, но не хотелось бы создавать файл только для того,
AGE>чтобы его послать и сразу же удалить. С помощью того что есть в System.Web.Mail этого не сделать, я правильно понял?

System.Web.MailMessage.Attachments
... << RSDN@Home 1.1.2 beta 1 >>
Re[2]: Mail Attachments
От: AGE  
Дата: 25.11.03 06:48
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Здравствуйте, AGE, Вы писали:


AGE>>Можно ли с помощью классов .NET сформировать письмо с аттачментом, не создавая при этом самого файла.

AGE>>То есть, есть строки собственно письма, которые пользователь будеть видеть, читая на экране это письмо, а есть
AGE>>строки, которые надо оформить в виде аттачмента, но не хотелось бы создавать файл только для того,
AGE>>чтобы его послать и сразу же удалить. С помощью того что есть в System.Web.Mail этого не сделать, я правильно понял?

ВВ>System.Web.MailMessage.Attachments


У меня .NET Framework 1.1.4322, но есть только namespace System.Web.Mail в
котором и определены MailMessage и MailAttachment, но как они могут решить мой
вопрос? у MailAttachment всего лишь одно свойство FileName (ну и ещё Encoding), куда можно выставить имя
существующего в файловой системе файла. Мне же хотелось проделать всё в RAM — создать сообщение с аттачментом, чтобы его затем отослать кому надо.
Re[2]: Mail Attachments
От: AGE  
Дата: 25.11.03 07:01
Оценка:
Здравствуйте, oRover, Вы писали:

R>Здравствуйте, AGE, Вы писали:


AGE>>Можно ли с помощью классов .NET сформировать письмо с аттачментом, не создавая при этом самого файла.

AGE>>То есть, есть строки собственно письма, которые пользователь будеть видеть, читая на экране это письмо, а есть
AGE>>строки, которые надо оформить в виде аттачмента, но не хотелось бы создавать файл только для того,
AGE>>чтобы его послать и сразу же удалить. С помощью того что есть в System.Web.Mail этого не сделать, я правильно понял?

R>не знаю, можно так или нет, но попробуй создать объект System.IO.File, не записывая его на диск и его приаттачить


Не вижу каким образом я смогу использовать этот объект — в какой метод какого класса мне его нужно будет передать?
Классу MailAttachment из System.Web.Mail нужна только строка, содержащая путь к файлу в файловой системе. А мне же хотелось избежать лишних запросов к ней — вот только я думаю будет ли стоить овчинка выделки, если Microsoft не подумала снабнить классы из вышеупомянутого пространства имён более широким интерфейсом для создания почтовых сообщений, то может быть в этом есть какой-то глубокий смысл?
Re: Mail Attachments
От: AlexZu Россия  
Дата: 25.11.03 09:29
Оценка: 2 (1)
Здравствуйте, AGE, Вы писали:

AGE>Можно ли с помощью классов .NET сформировать письмо с аттачментом, не создавая при этом самого файла.

AGE>То есть, есть строки собственно письма, которые пользователь будеть видеть, читая на экране это письмо, а есть
AGE>строки, которые надо оформить в виде аттачмента, но не хотелось бы создавать файл только для того,
AGE>чтобы его послать и сразу же удалить. С помощью того что есть в System.Web.Mail этого не сделать, я правильно понял?

Да, с помощью System.Web.Mail этого сделать нельзя.
System.Web.Mail использует CDO for NTS, объект NewMail, аттачменты добавляются методом AttachFile

objNewMail.AttachFile(Source [, FileName] [, EncodingMethod] )


, у которого первый параметр (Source ) может быть как IStream (по каким-то причинам MS не добавила его как содержимое аттачмента), так и путь к файлу, и именно первый параметр System.Web.Mail использует для передачи пути к файлу.

Так что если не хотите заморачиваться с созданием/удалением временных файлов, реализуйте IStream через Stream и используйте напрямую CDO (MAPI канешна покруче, но и посложней), или вытащите Reflector'ом реализацию SmtpMail и подстройте под свои нужды.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.