Laden...

Exportfunktion

Erstellt von Ghosti vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.222 Views
G
Ghosti Themenstarter:in
150 Beiträge seit 2007
vor 16 Jahren
Exportfunktion

Hallo,

ich bin gerade dabei eine Exportfunktion zu schreiben die 2 Sachen können soll.

  1. Eine bestimmte Datei die zuvor eingebunden wurde, an einen Ort der vom User bestimmt wird abzuspeichern.

das wollte ich mit hilfe des SaveDialogs realiesieren. Ich denke das sollte ganz gut damit klappen.

  1. Das ganze soll gleich in eine Email angebunden werden.
    Das OnClick-Ereigniss soll eine Email öffnen und diese Datei gleich als Anlage einbinden.

Hier weis ich nicht genau wie ich das realisieren soll. Ich habe in der MSDN einmal MailAttachment gefunden und MailMessageAttachment bei rufen aber nur den Inhalb ab.

Welche Klasse brauch ich damit ich den inhalt festlegen kann?
Wie sollte ich das öffnen der Email am besten realisieren?

thx

139 Beiträge seit 2006
vor 16 Jahren

Dafür gibt es die Mail API (kurz MAPI).
Es gibt eine MAPI Library für C#. Hab aber noch nie mit der gearbeitet.
MAPI33

Ansonsten gibt es die Office Automation. Soviel ich weiss, geht mit es mit der MAPI mehr als nur Outlook anzusprechen.
[FAQ] Office (Word, Excel, Outlook, ...) in eigenen Anwendungen verwenden

Gruss Ari
Wer lesen kann ist klar im vorteil!
MSDN
Dein Feund in allen fragen

G
Ghosti Themenstarter:in
150 Beiträge seit 2007
vor 16 Jahren

danke TNDAri

hab es jetzt mal anders gelöst.

was mir allerding jetzt noch fehlt ist die SMTP. Woher bekomm ich die SMTP raus die gerade verwendet wird??????

Hier mal meine Emailfunktion


            MailAddress from = new MailAddress(txtAbsender.Text);
            MailAddress to = new MailAddress(txtEmpfaenger.Text);
            MailMessage message = new MailMessage(from, to);
            
            message.Subject = txtBetreff.Text;
            message.Body = txtNachricht.Text;
            
            // Weitere Empfänger
            //MailAddress copy = new MailAddress(txtCc.Text);
            //message.CC.Add(copy);

             SmtpClient client = new SmtpClient(???????);

            client.Send(message);

Beim Client wird der SMTP verlangt. in der MSDN kann man den Client
mit public SmtpSection Smtp { get; } ermitteln. Da steht bei mir nichts drin.

Wie kann ich sonst den die SMTP adresse rauskriegen?
Outlook speichert die Einstellungen ja auch ab. Aber es verwendet ja nicht jeder Outlook.
Irgendwo müssen ja die Einstellungen sonst noch gespeichert werden oder?

R
402 Beiträge seit 2005
vor 16 Jahren

wie du die smtp-adresse rauskriegst kann ich dir leider nicht sagen,aber natürlich kommt es darauf an welches mail-programm du benutzt und dementsprechen wird auch jedes mail programm die smtp-adresse wo anders abspeichern und höchstwahrscheinlich auch auf eine andere art!
es gibt keinen grund das die smtp-adresse an einem zentralen ort abgelegt wird!

lg rizi

G
Ghosti Themenstarter:in
150 Beiträge seit 2007
vor 16 Jahren

@rizi

so sehe ich das auch. Was könnte ich jetzt aber tun um trotzdem immer die Adresse rauszubekommen??

Raten kann ich ja schlecht.

Wenn jemand eine eigene SMTP adresse hat dann müsste ich sie ja mit SmtpSection abfragen können.

Aber alle andere wie gmx, web, lycos usw.... finde ich so nicht raus.

R
402 Beiträge seit 2005
vor 16 Jahren

du könntest den benutzer einmalig auffordern, dass er dir eine smtp-adresse angibt,dann hätte sich dein problem erledigt! und es ist egal welches mail programm er benutzt,weil du ja die smtp-api benutzen kannst! was du aber noch beruecksichtigen musst,ist dass manche mail-anbieter(zb. gmx) auch beim versenden von mails eine authorisierung verlangen! sprich du muesstest auch benutzername + pwd abspeichern!

lg rizi

G
Ghosti Themenstarter:in
150 Beiträge seit 2007
vor 16 Jahren

@rizi

ja das könnte, aber es gibt auch user die mit nicht wissen was eine SMTP adresse ist -> wieder ein problem 🙂

Bei gmx ist es nicht notwendig das password zuspeichern. Ich bin bei gmx und konnte problemlos email verschicken.

R
402 Beiträge seit 2005
vor 16 Jahren

@rizi

ja das könnte, aber es gibt auch user die mit nicht wissen was eine SMTP adresse ist -> wieder ein problem 🙂

Bei gmx ist es nicht notwendig das password zuspeichern. Ich bin bei gmx und konnte problemlos email verschicken.

bei gmx brauchst du 100% username u. pwd, beim e-mail programm muss folgendes eingestellt sein:
Postausgangsserver: Server erforder authentifizierung

u. hier kann man auswählen gleiche authentifizierung wie posteingangsserver!
deswegen brauchst du kein pwd eingeben!

lg rizi

G
Ghosti Themenstarter:in
150 Beiträge seit 2007
vor 16 Jahren

@rizi

ich bin bei gmx und kann emails verschicken nur mit eingabe der smtp!!!

also nix mit pw

R
402 Beiträge seit 2005
vor 16 Jahren

komisch!
laut GMX:
Posteingangsserver: POP3: pop.gmx.net, IMAP: imap.gmx.net
Postausgangsserver: mail.gmx.net
Benutzername: GMX-Kundennummer oder GMX-E-Mail-Adresse
Besonderheiten: Verwendet SMTP-Authentifizierung

das kann ich nur bestätigen ohne SMTP-Authentifizierung kann ich nichts versenden!!

lg rizi

G
Ghosti Themenstarter:in
150 Beiträge seit 2007
vor 16 Jahren

Also ich hab es gerade nochmal getestet, es funktioniert bei mir prima.

Falls die SMTP adresse die richtige ist (bei gmx eben: mail.gmx.net). wird die Email richtig verschickt.

Was mir gerade durch den Kopf gegangen ist, wenn ich keine Zugangsdaten brauche um Email zu verschicken so könnte ich doch einfach ne funktionierende SMTP adresse verwenden (z.b. die von gmx) um alle email zu verschicken.

Somit bräuchte ich nicht irgendwie überprüfen welche SMTP der User verwendet wenn eine andere so oder so funktinioniert. Dh. das ganze sollte auch über Web, lycos usw gehen. Ich brauch nur die SMTP von denen und muß nichtmal bei ihnen angemeldet sein.

G
Ghosti Themenstarter:in
150 Beiträge seit 2007
vor 16 Jahren

Zusatz:
Es wird kein Passwort gebraucht, der Versender muß jedoch dem Provider bekannt sein (also eine Email dort haben dessen SMTP adresse er benutzt).

Ich hab als absender immer mich angegeben und da ich bei gmx bin hat das auch geklappt (ein PW ist nicht nötig).

Jetzt wäre das richtig gestellt.

Ein PW wird nur gebraucht wenn die Emailadresse einem nicht selber gehört.
D.h aber irgendwo wird ja was geprüft damit die Authentifizierung funktioniert.

Hoffe das mir jemand jetzt sagen kann woher die "SW" die Informationen herbekommt.