2009-08-05 7 views
0

C'est vraiment étrange que je n'arrive pas à trouver comment faire cela, alors je me demande si quelque chose me manque.Vouloir envoyer un courriel à partir de C# avec pièce jointe comme MS Word

Je suis désireux de mettre un menu sur notre application comme se trouve dans Word et Excel, Fichier -> Envoyer à -> Destinataire du message (comme pièce jointe)

Nos besoins sont de créer et afficher l'e-mail avec la pièce jointe, tout comme Word et Excel, ne l'envoie pas automatiquement.

Nous avons utilisé pour être en mesure d'enregistrer le fichier dans le dossier temp et utilisation: Shell.Execute ("mailto: my.email.com subject = fichier & attachment =?" C: \ temp.txt ");

J'ai essayé la pièce jointe &, la pièce jointe & à la fois dans VB.NET et C# avec des guillemets, des guillemets doubles, etc. J'ai également essayé System.Net.Mail mais je ne vois nulle part où vous pouvez afficher le e-mail, il semble être en mesure de créer et envoyer.

Toute aide serait grandement appréciée!

Merci, Brian

+0

Êtes-vous à la recherche d'une solution générale ou d'un client de messagerie spécifique? Votre solution Shell.Execute pourrait impliquer que vous en avez besoin pour différents clients. –

+0

jetez un coup d'oeil ici http://stackoverflow.com/questions/784997/launching-email-application-mapi-from-c-with-attachment –

Répondre

2

Je l'ai fait à l'aide d'Outlook Interop de Visual Studio Tools for Office:

using IntOut = Microsoft.Office.Interop.Outlook; 
... 
IntOut.Application app = new IntOut.Application(); 
IntOut.MailItem item = (IntOut.MailItem)app.CreateItem(
           IntOut.OlItemType.olMailItem); 
item.Subject = "Hello world"; 
item.Body = "Hello!"; 
item.Display(false); // set to true to make mail window modal 

Vous pouvez trouver un samples on MSDN here.

0

Merci pour les réponses, malheureusement, nous ne pouvons pas utiliser de références Outlook, nous avons une application commerciale et ne peut pas inclure l'interop (ni gaurantee il sera installé). Je souhaite éviter les références Outlook car cela rend le code trop complexe. Nous ne pouvons pas supposer un client de messagerie par défaut, ce pourrait être Outlook Express, Outlook version 2000, 2003, ou 2007, ou des notes de lotus, ou ... Ne sais pas. Nous avons une application commerciale, donc je ne pense pas que nous puissions supposer une application spécifique. Comme MS Word, il doit fonctionner pour tout ce qui est installé (ou n'est pas installé).

Questions connexes