Entwickler-Ecke
Sonstiges (Delphi) - mit Outlook automatisch mailen
noctua - Mi 22.06.05 00:17
Titel: mit Outlook automatisch mailen
ich habe so etwas ähnliches wie einen NewsMailer geschrieben, das beudeutet, dass ich e-mail eintragen kann, welche ich in eine .txt speichere und nun habe ich es so gemacht, dass ich einen text eingebe und dieser wird an alle leute in der liste gesendet.
mein problem ist nur, dass ich in meinem code immer auf "senden" klicken musste, um eine mail abzuschicken, da er nur das Fenster mit den entsprechendenen Daten zum senden öffnete. Dies ist zwar einfacher, als jede mail neu zu schreiben , aber das klicken stört doch.
kann man nicht irgendwie gleich mit dem delphi programm mails versenden?
vielleicht habt ihr auch hilfreiche forumeinträge, denn ich hab keine gufunden.
mfg NOc
WeBsPaCe - Mi 22.06.05 14:50
Bin mir nicht ganz sicher, was du jetzt genau machen möchtest. :nixweiss: Wenn du mit deinem Delphi-Programm selber die eMails verschicken möchtest, dann würde ich dir empfehlen, dir mal die IdSMTP-Komponente von Indy anzusehen. Wenn du jetzt aber per Outlook deine Mail versendest und nur den Klick auf den "Senden"-Button "emulieren" möchtest, dann kannst du das bestimmt mit einer ProcessMessage machen. ;)
noctua - Mi 22.06.05 21:17
Zitat: |
Wenn du jetzt aber per Outlook deine Mail versendest und nur den Klick auf den "Senden"-Button "emulieren" möchtest, dann kannst du das bestimmt mit einer ProcessMessage machen. |
genau. Ich möchte, dass mein programm eine Mail über (mein)Outlook sendet, ohne, dass ich klicken muss.
noctua - Mi 22.06.05 21:28
im forum steht nicht umbedingt viel über ProcessMessage's hast du vielleicht nen kleinen tip?
WeBsPaCe - Mi 22.06.05 21:41
Du solltest eigentlich die Message mit
Motzi's X-Spy ( :arrow:
http://www.x-spy.net ) "abfangen" können und dann diese in deinem Programm einbauen. Schau einfach mal nach X-Spy. ;)
Marauder - Mi 22.06.05 22:10
???
Wie wär's einfach so :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TWinForm1.Button1_Click(sender: System.Object; e: System.EventArgs); var proc : Process; begin proc := Process.Create; proc.StartInfo.FileName := 'mailto:abc@blah.com?subject=anfrage&body=blahbla blah'; proc.Start; end; |
oder so (benötigt die INDY-Componenten, ist aber flexibler...)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97:
| Procedure SendMail (an: Tstringlist; Nachricht: string; Betreff:String);
var
IdMsgSend: TidMessage; SMTP: TidSmtp; POP: TidPop3; i: integer; s: string; SMTPAuthType : Integer; Priority : String; begin Priority :=''; IdMsgSend := TidMessage.Create(nil); SMTP := TidSmtp.Create(nil); IdMsgSend.Clear; SMTPAuthType := convert.ToInt32(dr.Item ['Auth']);
with TIdText.Create(IdMsgSend.MessageParts, nil) do begin ContentType := 'text/plain'; Body.Text := Nachricht; end;
with TIdText.Create(IdMsgSend.MessageParts, nil) do begin ContentType := 'text/html'; Body.Text := Nachricht; end;
with IdMsgSend do begin ContentType := ''; From.Text := dr.Item ['Absender'].ToString; ReplyTo.EMailAddresses := dr.Item ['Absender'].ToString ; Subject := Betreff; Priority := Priority ; s := ''; for i := 0 to an.Count-1 do begin s := s + BccList.EMailAddresses+an.Strings[i] + ';' end; BccList.EMailAddresses := s; ReceiptRecipient.Text := ''; end;
IdMsgSend.ContentType := '';
case SmtpAuthType of 0: SMTP.AuthType := atNone; 1: SMTP.AuthType := atDefault; end; SMTP.Username := dr.Item['SMTPUser'].ToString; SMTP.Password := dr.Item['SMTPPWD'].ToString; SMTP.Host := dr.Item['SMTPServer'].ToString; SMTP.Port := convert.ToInt32 (dr.Item['SMTPPort'].ToString);
SMTP.Connect;
Messagebox.Show ('Anzahl Nachrichten zu senden : ' + IntToStr(IdMsgSend.MessageParts.Count)); try SMTP.Send(IdMsgSend); finally SMTP.Disconnect; end; IdMsgSend.free; SMTP.free; POP.free; end; |
ACHTUNG ! Ist ein Auszug aus einem meiner Programme, greift für die Felder, wie Absender etc. auf
ein Dataset zu...
Gruß
Herby
WeBsPaCe - Mi 22.06.05 22:13
Er möchte kein INDY benutzen und mit deiner Methode da oben öffnet sich nur das Fenster und er muss, wie er beschrieben hat erst noch auf "Senden" klicken. ;)
Marauder - Mi 22.06.05 22:14
huaaaaaa...
Immer diese Extrawünsche... :wink:
FFKangoroo - Fr 05.05.06 09:22
Marauder hat folgendes geschrieben: |
???
Wie wär's einfach so :
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TWinForm1.Button1_Click(sender: System.Object; e: System.EventArgs); var proc : Process; begin proc := Process.Create; proc.StartInfo.FileName := 'mailto:abc@blah.com?subject=anfrage&body=blahbla blah'; proc.Start; end; |
... |
Was benutzt der denn für einen Komponente?
weil der kennt Systems.object und eventargs nicht.
danke :)
Das FFKangoroo
Marauder - Fr 05.05.06 09:30
Nur .NET ...
Das sind reine .NET Methoden-Parameter, die automatisch eingetragen werden, wenn
man einen Button verwendet.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!