Entwickler-Ecke

Internet / Netzwerk - E-Mail 'unsichtbar' senden


XPert - So 19.01.03 17:27
Titel: E-Mail 'unsichtbar' senden
Hi Leute,
kann mir einer mal 'nen Befehl posten, mit dem eine e-mail versand wird, wobei der benutzer des programms diesen vorgang nicht mitbekommt...

bitte schnell wenn's geht....
*wart*
*wart*


DeCodeGuru - So 19.01.03 17:46

such mal im Forum nach Indy oder Fastnet. Damit kannste das direkt aus deinem Prog machen.


matze - So 19.01.03 19:14

und dann zieht dir bei http://www.nevrona.com/indy auch gelich die indy demos runter, denn da ist ein SMPT demo dabei !!!


XPert - Mo 20.01.03 01:44

hey,
danke für die hilfe!!!!


Delete - Mo 20.01.03 02:01
Titel: Re: E-Mail 'unsichtbar' senden
XPert hat folgendes geschrieben:

kann mir einer mal 'nen Befehl posten, mit dem eine e-mail versand wird, wobei der benutzer des programms diesen vorgang nicht mitbekommt...

*wart*
*wart*

Viren-Programmieren helfen wir doch immer schnell und unbürokratisch. :roll:

Ein Programm welches hinter meinem Rücken irgendwo E-Mails verschicken will, mit einem Inhalt den ich nicht kenne und an einen Empfänger den ich nicht kenne, ist mir doch sehr suspekt und hätte bei mir keine Chance länger zu überleben als mein Firewall braucht um anzuspringen. :evil:


matze - Mo 20.01.03 16:44

heyhey !!! nicht immer alles gleich so pessimistisch sehen !!! ich denke mal, dass das einfach eine suport mail funktion sein soll, und er nur nicht auf outlook express angewiesen sein will....... :roll:

das unterstelle ich einfach mal zu seinen gunsten !!!


Delete - Mo 20.01.03 17:15

Warum sollte ein Programm eine Support-Mail hinter meinem Rücken verschicken wollen, ohne dass ich es merke? :roll:


littlemike1005 - Mo 20.01.03 18:32

@Luckie

du hast recht meine firewall meldet auch gleich eine verbindung. alles was an unbekannt geht da drücke ich den button blockieren und als dauerregel speichern.

gruss michael


XPert - Fr 24.01.03 12:52

das soll doch nur eine e-mail sein, die als registrierungs - e- mail funzt.,....
die soll nur auf jeden fall gesendet werden müssen....


opfer.der.genauigkeit - Fr 24.01.03 13:02

Dann würd ich den User aber darüber Informieren, daß es sich um eine Registrierung handelt.

Sonst würden User wie Luckie etc. unwissend die Registrierung verweigern.
Wenn dann dein Programm abhängig von dieser arbeitet, dann wird wohl kein Mensch dein Programm benutzen können. :wink:


XPert - Fr 24.01.03 13:15

hat denn keiner code für 'unsichtbare' Registrierungsmails??????


Delete - Fr 24.01.03 15:28

Ich habe hier mal 2 Codes. Ungetestet allerdings:
MAPI SendMail 1

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:
procedure TForm1.FileSend1Execute(Sender: TObject);
var
  MapiMessage: TMapiMessage;
  MError: Cardinal;
begin
  with MapiMessage do
  begin
    ulReserved := 0;
    lpszSubject := nil;
    lpszNoteText := PChar(RichEdit1.Lines.Text);
    lpszMessageType := nil;
    lpszDateReceived := nil;
    lpszConversationID := nil;
    flFlags := 0;
    lpOriginator := nil;
    nRecipCount := 0;
    lpRecips := nil;
    nFileCount := 0;
    lpFiles := nil;
  end;
  MError := MapiSendMail(0, 0, MapiMessage,
    MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0);
  if MError <> 0 then MessageDlg(SSendError, mtError, [mbOK], 0);
end;


MAPI SEndmail 2

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:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
uses Mapi;

Procedure TForm1.SendMail(Subject,Mailtext,
                   FromName,FromAdress,
                   ToName,ToAdress,
                   AttachedFileName,
                   DisplayFileName:string;
                   ShowDialog:boolean);
var
  MapiMessage : TMapiMessage;
  MError      : Cardinal;
  Empfaenger  : Array[0..1] of TMapiRecipDesc;
  Absender    : TMapiRecipDesc;
  Datei       : Array[0..1] of TMapiFileDesc;
begin
  with MapiMessage do begin
    ulReserved := 0;

    // Betreff
    lpszSubject := PChar(Subject);

    // Body
    lpszNoteText := PChar(Mailtext);

    lpszMessageType := nil;
    lpszDateReceived := nil;
    lpszConversationID := nil;
    flFlags := 0;

    // Absender festlegen
    Absender.ulReserved:=0;
    Absender.ulRecipClass:=MAPI_ORIG;
    Absender.lpszName:= PChar(FromName);
    Absender.lpszAddress:= PChar(FromAdress);
    Absender.ulEIDSize:=0;
    Absender.lpEntryID:=nil;
    lpOriginator := @Absender;

    // Empfänger festlegen (Hier: nur 1 Empfänger)
    nRecipCount := 1;

    Empfaenger[0].ulReserved:=0;
    Empfaenger[0].ulRecipClass:=MAPI_TO;
    Empfaenger[0].lpszName:= PChar(ToName);
    Empfaenger[0].lpszAddress:= PChar(ToAdress);
    Empfaenger[0].ulEIDSize:=0;
    Empfaenger[0].lpEntryID:=nil;
    lpRecips := @Empfaenger;

    // Dateien anhängen (Hier: nur 1 Datei)
    nFileCount := 1;

    // Name der Datei auf der Festplatte
    Datei[0].lpszPathName:= PChar(AttachedFilename);

    // Name, der in der Email angezeigt wird
    Datei[0].lpszFileName:= PChar(DisplayFilename);
    Datei[0].ulReserved:=0;
    Datei[0].flFlags:=0;
    Datei[0].nPosition:=Cardinal(-1);
    Datei[0].lpFileType:=nil;
    lpFiles := @Datei;

  end;

  // Senden
  if ShowDialog then
    MError := MapiSendMail(0, Application.Handle,
      MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI, 0)
  else
    // Wenn kein Dialogfeld angezeigt werden soll:
    MError := MapiSendMail(0, Application.Handle, MapiMessage, 0, 0);

  Case MError of
    MAPI_E_AMBIGUOUS_RECIPIENT:
      MessageDlg('Empfänger nicht eindeutig. (Nur möglich, wenn Emailadresse nicht angegeben.)',mterror,[mbok],0);

    MAPI_E_ATTACHMENT_NOT_FOUND:
      MessageDlg('Datei zum Anhängen nicht gefunden',mterror,[mbok],0);

    MAPI_E_ATTACHMENT_OPEN_FAILURE:
      MessageDlg('Datei zum Anhängen konnte nicht geöffnet werden.',mterror,[mbok],0);

    MAPI_E_BAD_RECIPTYPE:
      MessageDlg('Empfängertyp nicht MAPI_TO, MAPI_CC oder MAPI_BCC.',mterror,[mbok],0);

    MAPI_E_FAILURE:
      MessageDlg('Unbekannter Fehler.',mterror,[mbok],0);

    MAPI_E_INSUFFICIENT_MEMORY:
      MessageDlg('Nicht genug Speicher.',mterror,[mbok],0);

    MAPI_E_LOGIN_FAILURE:
      MessageDlg('Benutzerlogin (z.B. bei Outlook) fehlgeschlagen.',mterror,[mbok],0);

    MAPI_E_TEXT_TOO_LARGE:
      MessageDlg('Text zu groß.',mterror,[mbok],0);

    MAPI_E_TOO_MANY_FILES:
      MessageDlg('Zu viele Dateien zum Anhängen.',mterror,[mbok],0);

    MAPI_E_TOO_MANY_RECIPIENTS:
      MessageDlg('Zu viele Empfänger angegeben.',mterror,[mbok],0);

    MAPI_E_UNKNOWN_RECIPIENT: MessageDlg('Empfänger nicht in Adressbuch gefunden. '+
     '(Nur möglich, wenn Emailadresse nicht angegeben.)',mterror,[mbok],0);

    MAPI_E_USER_ABORT:
      MessageDlg('Benutzer hat Senden abgebrochen oder MAPI nicht installiert.',mterror,[mbok],0);

    SUCCESS_SUCCESS:
      MessageDlg('Erfolgreich !!! (Aber Absenden nicht garantiert.)',mtinformation,[mbok],0);

  End;
end; {Christian "NineBerry" Schwarz}


{ Aufrufparameter:

Subject:    Die Betreffzeile
Mailtext:    Der eigentliche Text der eMail
FromName:    Der Name des Absenders
FromAdress:    Die EMail-Adresse des Absenders
ToName:    Der Name des Empfängers
ToAdress:    Die EMail-Adresse des Empfängers
AttachedFileName: Der Dateiname der angehängten Datei
FileDisplayName:  Der in der Mail angezeigte Name der angehängten Datei
ShowDialog:   true: Die Mail wird vor dem Absenden angezeigt
    false: Die Mail wird "stumm" verschickt  }


F.Art - Do 06.02.03 13:43

Also mein Virenscanner meldet sich auch immer wenn eine eMail versendet wird, kann man das irgendwie umgehen?


Shadowdragon - Do 06.02.03 15:05

Ja, und zwar n gescheiten Virenscanner kaufen :roll:

Du kannst das garantiert unter "Einstellungen" festlegen.....

wenn du Norton benutzt, schalte mal den Outlook Hawk ab.


littlemike1005 - Do 06.02.03 15:19

bei norton kannst du das im virenscanner unter optionen abstellen.
du kannst sogar zwischen ein- und ausgehenden emails unterscheiden.


F.Art - Do 06.02.03 15:37

Das weis ich aber ich wollte wissen ob man das per Delphi umgehen kann.


littlemike1005 - Do 06.02.03 16:28

ich denke oder besser ich hoffe das norten das nicht so einfach mit sich machen lässt. weil sonst könnte ja jedes program einstellen was es will und dann ist eine firewall und ein virenscanner nicht mehr von grossem nutzen.

stell dir vor jeder virus kann die firewall und den virenscanner einfach lahm legen. ok es geht aber ich denke nicht so einfach.


Shadowdragon - Do 06.02.03 17:35


Quelltext
1:
firewall.enabled = false                    


LOL.....wenns so einfach wäre :rofl:


littlemike1005 - Do 06.02.03 17:45

@Shadowdragon

KLUGSCHEISSERMODUS:=TRUE;


Quelltext
1:
firewall.enabled := false;                    


bitte mit doppelpunkt und simikolon. weil ist ja eine zuweisung. :wink:

KLUGSCHEISSERMODUS:=FALSE;


F.Art - Do 06.02.03 18:39

Die richtigen Tasks beenden und auch in der Registrie änderungen vornehmen und Firewall und Virenscanner sind aus.


derDoc - So 09.02.03 19:05

Ist das hier das Forum zur Delphi Programmierung oder das Forum wie schalte ich Firewalls ab?


F.Art - So 09.02.03 19:26

Natürlich wie schalte ich Firewalls ab. ;-)

Ne mich interessiert es wie ich das bei Norton Virenscanner umgehe damit die eMAils schneller versendet werden. Sonst wird die immer gecheckt.


derDoc - So 09.02.03 20:38

Also bei dem Norton AntiVirus, dass bei Internet Security 2002 dabei war kann man das per CheckBox abschalten.