Datei zum Verschicken,die eingetragene Daten an E-Mail verschickt

    Datei zum Verschicken,die eingetragene Daten an E-Mail verschickt

    Guten Abend,
    da ich noch nicht so viel Erfahrung habe, wollte ich mal fragen, ob es möglich ist, eine Datei zu erstellen, die man an Freunde,etc. verschickt, in denen die Edits ausfüllen, mit einen Button bestätigen und die eingetragenen Daten an meine Email-Adresse verschickt werden.
    Frage im Anschluss wäre dann natürlich wie ich das anstelle und ein Musterquellcode wäre perfekt :thumbsup:

    danke im vorraus :)
    Kein Problem. Das Programm nennt sich Outlook, Thunderbird usw.

    Alles andere nennt man "Programmieren".
    Wir sind nicht hier um deinen Quellcode zu schreiben.

    DL
    Es gibt Wissenschaftler, die behaupten, dass Logik "universell", also überall gleich, sei...
    Ich treffe täglich Menschen, die mit "ihrer" Logik das Gegenteil beweisen.
    Ja, man kann es.
    Man benötigt die Indy-Komponenten.

    Und ... das Edit von einem ANDEREN Rechner?
    Muss ich das "merkwürdig" finden?

    Und nochmals: WIR SIND KEINE CODELIEFERANTEN!
    Bei den Indy gibt es entsprechende Demos

    DL
    Es gibt Wissenschaftler, die behaupten, dass Logik "universell", also überall gleich, sei...
    Ich treffe täglich Menschen, die mit "ihrer" Logik das Gegenteil beweisen.
    ...in denen die Edits ausfüllen, mit einen Button bestätigen und die eingetragenen Daten an meine Email-Adresse verschickt werden.


    Ich nix verstehn.
    Eine Datei mit einem Edit ? Ein Wordformular ? Eine selbstgeschriebene Exe ?
    Bitte mal genauer formulieren, dann wird Dir vielleicht selber klarer, was man tun könnte.
    ism
    Morgen ist Heute schon Gestern
    Ich denke er will sowas wie
    Ein Programm, mit lauter Eingabefeldern, also eine Eingabemaske
    Einen Button zum Senden
    Dann etwas, dass die Eingabe verarbeitet zu einem Dokument umwandelt und per Email an ihn (also seine Emailadresse verschickt)

    Richtig?
    Mein Plan: Ich strebe nach Glück, der Rest ergibt sich spontan! Eric Meyer

    Menschen sind wie Tweets, die Existens der meisten geht im Mainstream unter, einige erhalten mehr und andere weniger
    Beachtung als sie verdienen. Nur ganz wenige schaffen es nennenswert Einfluss zu nehmen. Eric Meyer
    Zum Erstellen einer Mail mit anhang hab ich hier einen Code. Um das Erstellen der Datei musst du dich selbst kümmern, der Code nutzt MAPI (daher die Unit "Mapi" in die Uses einbinden) und baut die Mail mit dem Default-Mail-Client auf. Das Verschicken muss der Anwender selbst auslösen.

    cckLoud


    Delphi-Code

    1. function SendMail(const Subject, Body, FileName,
    2. SenderName, SenderEMail,
    3. RecipientName, RecipientEMail: string): Integer;
    4. var
    5. Message: TMapiMessage;
    6. lpSender, lpRecipient: TMapiRecipDesc;
    7. FileAttach: TMapiFileDesc;
    8. SM: TFNMapiSendMail;
    9. MAPIModule: HModule;
    10. begin
    11. FillChar(Message, SizeOf(Message), 0);
    12. with Message do
    13. begin
    14. if (Subject <> '') then
    15. lpszSubject := PChar(Subject);
    16. if (Body <> '') then
    17. lpszNoteText := PChar(Body);
    18. if (SenderEmail <> '') then
    19. begin
    20. lpSender.ulRecipClass := MAPI_ORIG;
    21. if (SenderName = '') then
    22. lpSender.lpszName := PChar(SenderEMail)
    23. else
    24. lpSender.lpszName := PChar(SenderName);
    25. lpSender.lpszAddress := PChar(SenderEmail);
    26. lpSender.ulReserved := 0;
    27. lpSender.ulEIDSize := 0;
    28. lpSender.lpEntryID := nil;
    29. lpOriginator := @lpSender;
    30. end;
    31. if (RecipientEmail <> '') then
    32. begin
    33. lpRecipient.ulRecipClass := MAPI_TO;
    34. if (RecipientName = '') then
    35. lpRecipient.lpszName := PChar(RecipientEMail)
    36. else
    37. lpRecipient.lpszName := PChar(RecipientName);
    38. lpRecipient.lpszAddress := PChar(RecipientEmail);
    39. lpRecipient.ulReserved := 0;
    40. lpRecipient.ulEIDSize := 0;
    41. lpRecipient.lpEntryID := nil;
    42. nRecipCount := 1;
    43. lpRecips := @lpRecipient;
    44. end
    45. else
    46. lpRecips := nil;
    47. if (FileName = '') then
    48. begin
    49. nFileCount := 0;
    50. lpFiles := nil;
    51. end
    52. else
    53. begin
    54. FillChar(FileAttach, SizeOf(FileAttach), 0);
    55. FileAttach.nPosition := Cardinal($FFFFFFFF);
    56. FileAttach.lpszPathName := PChar(FileName);
    57. nFileCount := 1;
    58. lpFiles := @FileAttach;
    59. end;
    60. end;
    61. MAPIModule := LoadLibrary(PChar(MAPIDLL));
    62. if MAPIModule = 0 then
    63. Result := -1
    64. else
    65. try
    66. @SM := GetProcAddress(MAPIModule, 'MAPISendMail');
    67. if @SM <> nil then
    68. begin
    69. Result := SM(0, Application.Handle, Message, MAPI_DIALOG or MAPI_LOGON_UI, 0);
    70. end
    71. else
    72. Result := 1;
    73. finally
    74. FreeLibrary(MAPIModule);
    75. end;
    76. if Result <> 0 then
    77. MessageDlg('Error sending mail (' + IntToStr(Result) + ').', mtError,
    78. [mbOK], 0);
    79. end;

    ismirschlecht schrieb:

    Also Thunderbird
    Eingabefelder in Hülle und Fülle und versendet an seine Mailadresse.


    ... und das wird kein Bot ?
    ism


    Ich behaupte: Nein. Kein Bot.
    mozilla.org/de/thunderbird/
    Es gibt Wissenschaftler, die behaupten, dass Logik "universell", also überall gleich, sei...
    Ich treffe täglich Menschen, die mit "ihrer" Logik das Gegenteil beweisen.
    Es gibt im Internet mehre Delphi Sendmails, Google mal danach. Ich hab in meiner Software auch eine drin die Mails direkt versendet, verwende ich aber nicht mehr, weil die meistens im Spam Ordner landen, wenn sie überhaupt verschickt werden, weil die Provider sowas gar nicht gerne mögen.
    Einen Satz verstehen, heißt, wissen was der Fall ist, wenn er wahr ist. (Ludwig Wittgenstein)

    Crideer schrieb:

    Ich möchte das es versendet wird ohne eine Bestätigung des Anwenders. Das funktioniert ja nur mit php, aber wie kann ich html und php kombinieren?
    So wie eric_meyer das beschrieben hat ist genau auf den Punkt getroffen.

    Na, dann mußt du dir eben ein Programm schreiben, welches genau das macht. Und dieses Programm stellst du dann für deine "Freunde" zum Download auf deiner Website bereit. Außerdem kannst du kannst das alles über deinen eigenen Provider machen: Username und Passwort verschlüsselt im Programm hinterlegen und über deinen Provider an dich selbst eine Mail versenden.

    Allerdings würde ich mich als Anwender eines solchen Programms schon fragen, was da ohne mein Wissen versendet wird. Mein Virenwächter achtet nämlich darauf, welche Programme Zugang zum Internet fordern und fragt mich vorher um Erlaubnis. Daher stellt sich mir die Frage: Wieso willst du das denn bewerkstelligen, ohne daß der Anwender was davon mitbekommt? Das sieht mir doch sehr nach irgend einer Gaunerei aus ...

    cckLoud schrieb:

    Zum Erstellen einer Mail mit anhang hab ich hier einen Code. Um das Erstellen der Datei musst du dich selbst kümmern, der Code nutzt MAPI (daher die Unit "Mapi" in die Uses einbinden) und baut die Mail mit dem Default-Mail-Client auf. Das Verschicken muss der Anwender selbst auslösen.

    cckLoud


    Delphi-Code

    1. function SendMail(const Subject, Body, FileName,
    2. SenderName, SenderEMail,
    3. RecipientName, RecipientEMail: string): Integer;
    4. ...


    Genau das brauche ich gerade. Nur in der Hilfe von Delphi finde ich gar nichts ...
    Allerdings kann ich die Unit Mapi einbinden. Klappt das obige heute noch?
    Uli
    Nur in der Hilfe von Delphi finde ich gar nichts ...


    Kein Wunder. ist ja auch eine WIndows-Funktion... Guckst du in der Win-SDK!

    Klappt das obige heute noch?


    Was denkst du hat sich beim Mailing geändert???
    Ja, funktioniert noch, ist bei uns noch produktiv...

    cckLoud
    Hallo cckLoud,

    vielen Dank für Deine Nachricht :) .
    Ich dachte, die MAPI-Unit wäre von Delphi und dazu würde es eine Beschreibung geben ;) .
    Ich schaue mir Deinen Code genauer an.
    Eigentlich muß ich ein xBase-Programm zum laufen bringen. Aber da stürzt mit Outlock die Schnittstelle gnadenlos ab. Hoffentlich bekomme ich es mit Delphi hin.
    Ich werde berichten.

    Uli
    Also, ich stelle mich mit den Typenumwandlung wohl ein bisschen blöd an...
    Bei den Zeilen wie
    lpszSubject := PChar(Subject);
    kommt es beim Compilieren zur Fehlermeldung
    [dcc32 Fehler] UnitMapiTest.pas(47): E2010 Inkompatible Typen: 'PAnsiChar' und 'PWideChar'
    Wenn ich stattdessen PAnsiChar(Subject) einsetze kommt es "nur" zu Warnung "bedenkliche Typumwandlung. Dann wird auch beim Aufbereiten der Mail nur der erste Buchstabe übertragen.
    was mache ich falsch?
    Uli

    Edit: Wenn ich im Funktionskopf als Parametertypen statt "String" "AnsiString einsetze kommen keine Warnungen mehr und es scheint zu funktionieren :) .

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „UliTs“ ()