Servus!
Nach Suche quer durchs Forum & Google wende ich mich mal wieder an Euch:
Wie kann ich aus meinem Programm heraus dem Standart-Mail-Programm in Windows ansprechen & dem die Empfänger-Mail-Addy, den Subjekt & eine anzuhängende Datei übergeben?
Ich habe hier & da was über die MAPI gelesen . . . werde aus dem Ganzen aber mal wieder nicht Schlau.
Ich meine, so schwer kan es ja nicht sein, in HTML ist es ja auch nur ne Zeile . . .
*Machts gut und danke für den vielen Fisch*
Hey, das klingt doch mal Klasse! 😁
Weiß jemand wie ich darüber ein Anhang mitgebe?
*Machts gut und danke für den vielen Fisch*
Gar net 😉
Dann musst die MailMessage Klasse im Namespace System.Net.Mail benutzen, aber ist auch leicht zu handhaben.
Baka wa shinanakya naoranai.
Mein XING Profil.
Hmm . .. kennt VS.NET 2003 nicht . . . oder muss ich da noch was einbinden? Also System.Net. kennt der aber Mail nicht mehr . . .
*Machts gut und danke für den vielen Fisch*
Ja, des passende Assembly dazu. Sagt dir die Fehlermeldung doch auch 🙂 Nur weil man nen Namespace angibt, heißt es noch lange net das auch alle Assemblies wo es den namespace gibt, auch automatisch eingebunden werden.
Baka wa shinanakya naoranai.
Mein XING Profil.
Und was ist, wenn man gar keine Fehlermeldung bekommt? 😉 Ich versuchte es ja direkt einzugeben & zu gucken was der hat! 😉
Und was ist das entsprechende Assembly dafür?
*Machts gut und danke für den vielen Fisch*
Upps, mein Fehler, des heißt System.Web.Mail 😁
Und die passende Referenz ist dann System.Web.dll
Aber dafür ist ja die MSDN Library da, kann jeder mal reinschaun =) (Wink mitm Zaunpfahl 😄)
Baka wa shinanakya naoranai.
Mein XING Profil.
Brauchst nicht Winken, da gucke ich per Standard rein . . . nur werde ich mal wieder daraus nicht schlau . . .
*Machts gut und danke für den vielen Fisch*
So, habe mal einiges gefunden . . . habe ein Anhang erstellt, habe ne Mail erstellt, aber das mit dem schicken ist so ne Sache . . . das scheint ja nur über STMPMail.Send gehen . .. und dafür muss ich ja ein SMTP-Server angeben . . . ich will aber gar nicht, das C# das verschickt, ich will ja, das C# das an das standart Mail-Programm (Outlook, Thunderbird, Netscpae oder was auch immer) übergibt . . .
Mein Code sieht bis jetzt soweit aus:
MailAttachment ma = new MailAttachment(strgZipName+".gpg");
MailMessage mm = new MailMessage();
mm.Attachments.Add(ma);
mm.To = "DRG-Datenstelle@mmm.com";
string strgMailSubject = strgZipName.Replace(".zip", "");
mm.Subject = strgMailSubject;
*Machts gut und danke für den vielen Fisch*
In HTML kannst doch auch nur Subject usw. angeben, aber Attachement geht doch auch net oder?
Baka wa shinanakya naoranai.
Mein XING Profil.
Original von talla
In HTML kannst doch auch nur Subject usw. angeben, aber Attachement geht doch auch net oder?
Ich habe nix gefunden . . . aber was willste mir damit sagen? Entweder oder? Also, ich weiß das es in Java geht, warum soll es also nicht in C# gehen?
*Machts gut und danke für den vielen Fisch*
Na wie geht des denn in Java?
Im ersten Beitrag meintest du es wäre nur eine Zeile in HTML 🙂 Des meint ich damit.
Jetzt weiß ich übrigens wie ich auf System.Net.Mail kam, des gibts neu ab 2.0 🙂
Baka wa shinanakya naoranai.
Mein XING Profil.
Java ist aber nicht gleich C#! 😉
Zu HTML: Ich meinte ja nur! 😉 Hätte ja sein können, das es in C# ähnlich easy ist! 😉
*Machts gut und danke für den vielen Fisch*
Java versteh ich zumindest aber auch, kannst ja mal posten wie du es da machen würdest, genauso wie du es in HTML machen würdest. Ich kenn da nämlich kein Weg für nen Attachement.
Baka wa shinanakya naoranai.
Mein XING Profil.
Du, da muss ich passen . . . mein Kollege, welcher Java programmiert, meinte das es über Java funktioniere . . . ich frag Ihn mal . . .
*Machts gut und danke für den vielen Fisch*
@Talla: Habe mal mein Kollegen gefragt, der löst das über MAPI . . . wie ich am Anfang schon mal erwähnte . . . nur finde ich da irgendwie nix gescheites zu . . . jemmand zufällig was passendes parat?
*Machts gut und danke für den vielen Fisch*
So, habe der Rätsels Lösung gefunden! 🙂
Ich habe es im Endeffekt über SimpleMAPI gelöst 🙂
Also, man lädt sich hier den SourceCode runter: http://www.codeproject.com/csharp/simplemapidotnet.asp
Dann "importiert" man die MapiApi.cs (in VS.NET: Rechte Maus im Projektappen-Explorer auf das Projekt -> Hinzufügen -> Vorhandenes Element hinzufügen -> MapiApi.cs.), dann noch
using Win32Mapi;
und schon hat man alles was man braucht.
Der Code fürs versenden übers Standart-Mail-Programm mit Anhang sieht dann so aus:
Mapi ma = new Mapi();
ma.Attach(StringAnhangInklDateipfad);
ma.AddRecip(StringEmpängerMailAdresse, null, false);/*False wenn es die Hauptadresse ist, true wenn es CC sein soll*/
ma.Send(StringMailBetreff, StringMailText);
Und gut is! 🙂
*Machts gut und danke für den vielen Fisch*
Hallo!
Hat sich schonmal jemand intensiver mit SimpleMapi.NET beschäftigt. Das Versenden klappt ja prima, aber beim Lesen von Mails bekomm ich immer nur die erste Mail angezeigt, und die auch nur ohne Mailtext.
Als Fehlercode bekomme ich beim Abruf ab der zweiten Mail immer 0x10 (No Messages) zurück. Hat jemand eine Idee, woran das liegen könnte, oder evtl. mal einen eigenen Mapi-Wrapper geschrieben?
Edit: Hab' rausgefunden, warum ich immer die erste Nachricht bekomme: Ich benutze Thunderbird (hatte ich vergessen, zu erwähnen), und da gibt's noch ein paar Probleme mit der MAPI-Umsetzung.
Nobody is perfect. I'm sad, i'm not nobody 🙁
Hallo,
ich möchte auch übers Standard-Email-Programm versenden mit Dateianhang, es soll aber das Emailversandfenster aufgehen, so dass man noch einen Text eintragen kann.
Weiss jemand wie man das hinkriegt ?
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Mittels Process.Start folgenden Link starten: mailto:adress@server.tld&cc=...&bcc=...&subject=test&body=see file&attachment=file:///c:/test.txt
Bei Outlook funktioniert das, Thunderbird verschluckt das Attachment.
Dann kann man aber über thunderbird -compose "to=adress@server.tld&cc=...&bcc=...&subject=test&body=see file&attachment=file:///c:/test.txt" gehen...
Danke Borg,
werde ich gleich mal testen !
Vorauler : Zum Versenden benutze ich einen eigenen Client, der auf der Klasse System.Net.Mail aufbaut. Diese Klasse kann eigentlich alles was ich brauche.
Es kann aber nun vorkommen dass Benutzer nicht meinen Client verwenden wollen, sondern den Client von ihrem Standard-Email-Programm, z.B. Groupwise, David, Outlook oder wie es heissen mag.
In diesem Fall werde ich die Befehlszeile wie Borg beschrieben hat benutzen.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Hallo Borg,
klappt leider nicht !
Ich habe alle Kombinationen probiert die mir so eingefallen sind :
for (int i = 0; i < 6; i++)
{
string att = "";
if (i == 0) att = "&attachment=file:///c:/test.txt";
if (i == 1) att = "&attachment=\"file:///c:/test.txt\"";
if (i == 2) att = @"&attachment=c:\test.txt";
if (i == 3) att = "&attachment=test.txt";
if (i == 4) att = "&attachment=\"test.txt\"";
if (i == 5) att = "&attachment=file:///test.txt";
ProcessStartInfo pr = new ProcessStartInfo();
pr.FileName = "mailto:hans<hans@test.de>&subject=Datei Nummer xxx&body=Hier die Datei !!!" + att;
Process.Start(pr);
}
Funktioniert weder mit Outlook 2007 noch mit Outlook Express. Der Dateianhang ist nie dabei.
Hat da jemand noch 'ne Idee ?
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Hallo!
@BerndFfm:
Hast du denn auch schon SimpleMapiDotNet von CodeProject probiert.
Damit klappt das Versenden einer Mail inkl. Anzeige des Fensters zumindest mit Thunderbird wunderbar.
Um den Dialog anzuzeigen, muss als Flag die folgende Konstante
private const int MapiDialog = 0x00000008;
bei MapiSendMail angegeben werden.
Nobody is perfect. I'm sad, i'm not nobody 🙁
Komplett OT:
Original von BerndFfm
...sondern den Client von ihrem Standard-Email-Programm, z.B. Groupwise, David, Outlook oder wie es heissen mag.
Nicht hauen (es ist ja auch albern): Ich hab mal bei Tobit gearbeitet.. Immerhin unterscheidest du schon zwischen Firma und Produkt (die meisten behaupten sie haetten "Tobit" gekauft oder als Mailloesung im Haus), aber David ist ein Serverprodukt, Outlook ein Client. David und Exchange oder (zumindest als ich da mal aktuell war) Tobit Infocenter und Outlook ware hier geschickter.
Sorry, ich konnte wirklich nicht widerstehen.
Aus purer Neugier: Nutzt du das System irgendwo? Bin seit Jahren bei denen weg, ueberlege aber mir das Zeug privat nochmal anzuschauen. Aber ich bin da seit David 6 raus..
Pound for pound, plutonium is about as toxic as caffeine when eaten.