Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Memo an E-Mail versenden. (https://www.delphipraxis.net/68457-memo-e-mail-versenden.html)

Area51 29. Apr 2006 21:43


Memo an E-Mail versenden.
 
Hallo.
Ich habe erst vor 2 Wochen Delphi7 erhalten und kenne mich damit noch nicht so gut aus.
Ich habe ein Quiz für meine Mitschüler erstellt und würde gerne, dass Sie einen Komentar in einem Memo schreiben können und danach auf einen Button, zum absenden auf meine E-mail Adresse klicken können. Ich wurde aus den Beiträgen hier im Forum nicht so ganz schlau. Vielleicht könnte mir jemand eine "Schritt für Schritt" Erklärung machen, da ich noch nicht so erfahren bin. Ich habe einen GMX.net Account. mfg.

fkerber 29. Apr 2006 21:54

Re: Memo an E-Mail versenden.
 
Hi!

Such mal nach Indy, da gibt es wirklich massenweise Threads im Forum.
Wenn du dann eine konkrete Frage hast, kannst du sie ja dann stellen.

Zu den Indy gibt es auch Beispiele - evtl. iss da ja auch was zum Mailen dabei...


Ciao Frederic

MrKnogge 29. Apr 2006 21:57

Re: Memo an E-Mail versenden.
 
Moin,

Dafür musst du einen eigenen Email-Server integrieren. Schau dir hierzu einfach mal die Indy-Demos an.

Du kannst aber auch einfach den Standard-Email-Client öffnen:
Delphi-Quellcode:
uses ShellApi

...

begin
  shellexecute(handle, 'open',
               PChar('mailto:' + 'Deine@Emailadresse.de' + '?subject=' + 'Komentar zu deinem Programm'),
               '', '', sw_normal);
gruss

jim_raynor 29. Apr 2006 23:26

Re: Memo an E-Mail versenden.
 
Mit der MAPI gehts auch ohne speziellen Server. Allerdings muss dann der Mail-Client korrekt eingerichtet sein.

Delphi-Quellcode:
var
  MapiMsg: TMapiMessage;
  Recips: TMapiRecipDesc;
  Files : TMapiFileDesc;
begin
  with Recips do begin
    ulReserved := 0;
    ulRecipClass := MAPI_TO;
    lpszName := PChar('zieladresse@irgendwo.de');
    lpszAddress := nil;
    ulEIDSize := 0;
    lpEntryID := nil;
  end;
  with Files do
  begin
    ulReserved := 0;
    flFlags:=0;
    nPosition:=0;
  end;
  with MapiMsg do begin
    ulReserved := 0;

// Betreff-Zeile
    lpszSubject := PChar('Titel');

// Text der Mail
    lpszNoteText := PChar('Nachricht');
    lpszMessageType := nil;
    lpszDateReceived := nil;
    lpszConversationID := nil;
    flFlags := 0;

// Informationen über den Sender der Mail (TMapiRecipDescr)
    lpOriginator := nil;

// Anzahl der Empfänger;
    nRecipCount := 1;

// Array der Empfänger (hier nur einer) (TMapiRecipDescr)
    lpRecips := @Recips;

// Anzahl anhängender Dateien
    nFileCount := 0;

// Angehängte Dateien (TMapiFileDescr)
    lpFiles := nil;
  end;
  result:=MapiSendMail(0, 0, MapiMsg, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0)=SUCCESS_SUCCESS;
end;
Diese Mail schickt er dann über den installierten Mail-Client falls es nicht klappt. Gibt die Funktion false zurück

Area51 30. Apr 2006 10:06

Re: Memo an E-Mail versenden.
 
Hallo. Zuerst danke für die Antworten.

Dann meine Probleme: Kann ich dieses Mail auch ohne Mailklienten versenden? und wie stelle ich das an, dass mein Memo gesendet wird?? ....und was muss ich bei meinem GMX Account einstellen?? Danke im Vorraus :D

Area51 30. Apr 2006 10:29

Re: Memo an E-Mail versenden.
 
Hallo.
Also ich habe mal zum testen ein Memo und ein Button erstellt. Dann beim onklick beim button den Quelltext reinkopiert. Leider hat es nicht gefunzt. Ich poste hier mal den Queltext :D

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
 var
  MapiMsg: TMapiMessage;
  Recips: TMapiRecipDesc;
  Files : TMapiFileDesc;
begin
  with Recips do begin
    ulReserved := 0;
    ulRecipClass := MAPI_TO;
    lpszName := PChar('supershake@gmx.net');
    lpszAddress := nil;
    ulEIDSize := 0;
    lpEntryID := nil;
  end;
  with Files do
  begin
    ulReserved := 0;
    flFlags:=0;
    nPosition:=0;
  end;
  with MapiMsg do begin
    ulReserved := 0;

// Betreff-Zeile
    lpszSubject := PChar('Titel');

// Text der Mail
    lpszNoteText := PChar('memo1');
    lpszMessageType := nil;
    lpszDateReceived := nil;
    lpszConversationID := nil;
    flFlags := 0;

// Informationen über den Sender der Mail (TMapiRecipDescr)
    lpOriginator := nil;

// Anzahl der Empfänger;
    nRecipCount := 1;

// Array der Empfänger (hier nur einer) (TMapiRecipDescr)
    lpRecips := @Recips;

// Anzahl anhängender Dateien
    nFileCount := 0;

// Angehängte Dateien (TMapiFileDescr)
    lpFiles := nil;
  end;
  result:=MapiSendMail(0, 0, MapiMsg, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0)=SUCCESS_SUCCESS;
end;
[edit=Admin]Code in Delphi-Tags gesetzt. Künftig bitte selber machen, danke. ;-) Mfg, Daniel[/edit]

jim_raynor 30. Apr 2006 11:04

Re: Memo an E-Mail versenden.
 
Warum geht eigentlich jeder davon aus, dass wir hier hellsehen können. :wall: Du musst schon sagen was nicht funktioniert!!!!

Auf jeden Fall Funktioniert PChar('memo1') nicht so wie du dass willst. Du musst natürlich PChar(memo1.Lines.Text) dort schreiben.

Area51 30. Apr 2006 11:43

Re: Memo an E-Mail versenden.
 
Folgende Felher habe ich beim erzeugen :D

Erzeugen
[Fehler] Unit1.pas(29): Undefinierter Bezeichner: 'TMapiMessage'
[Fehler] Unit1.pas(30): Undefinierter Bezeichner: 'TMapiRecipDesc'
[Fehler] Unit1.pas(31): Undefinierter Bezeichner: 'TMapiFileDesc'
[Fehler] Unit1.pas(34): Undefinierter Bezeichner: 'ulReserved'
[Fehler] Unit1.pas(35): Undefinierter Bezeichner: 'ulRecipClass'
[Fehler] Unit1.pas(35): Undefinierter Bezeichner: 'MAPI_TO'
[Fehler] Unit1.pas(36): Undefinierter Bezeichner: 'lpszName'
[Fehler] Unit1.pas(37): Undefinierter Bezeichner: 'lpszAddress'
[Fehler] Unit1.pas(38): Undefinierter Bezeichner: 'ulEIDSize'
[Fehler] Unit1.pas(39): Undefinierter Bezeichner: 'lpEntryID'
[Fehler] Unit1.pas(44): Undefinierter Bezeichner: 'flFlags'
[Fehler] Unit1.pas(45): Undefinierter Bezeichner: 'nPosition'
[Fehler] Unit1.pas(51): Undefinierter Bezeichner: 'lpszSubject'
[Fehler] Unit1.pas(54): Undefinierter Bezeichner: 'lpszNoteText'
[Fehler] Unit1.pas(55): Undefinierter Bezeichner: 'lpszMessageType'
[Fehler] Unit1.pas(56): Undefinierter Bezeichner: 'lpszDateReceived'
[Fehler] Unit1.pas(57): Undefinierter Bezeichner: 'lpszConversationID'
[Fehler] Unit1.pas(61): Undefinierter Bezeichner: 'lpOriginator'
[Fehler] Unit1.pas(64): Undefinierter Bezeichner: 'nRecipCount'
[Fehler] Unit1.pas(67): Undefinierter Bezeichner: 'lpRecips'
[Fehler] Unit1.pas(70): Undefinierter Bezeichner: 'nFileCount'
[Fehler] Unit1.pas(73): Undefinierter Bezeichner: 'lpFiles'
[Fehler] Unit1.pas(75): Undefinierter Bezeichner: 'result'
[Fehler] Unit1.pas(75): Undefinierter Bezeichner: 'MAPI_DIALOG'
[Fehler] Unit1.pas(75): Undefinierter Bezeichner: 'MAPI_LOGON_UI'
[Warnung] Unit1.pas(75): Vorzeichenbehaftete und -lose Typen werden kombiniert - beide Operanden werden erweitert
[Fehler] Unit1.pas(75): Undefinierter Bezeichner: 'SUCCESS_SUCCESS'
[Warnung] Unit1.pas(75): Vorzeichenbehaftete und -lose Typen werden verglichen - beide Operanden werden erweitert
[Fehler] Unit1.pas(78): Deklaration erwartet, aber Dateiende gefunden
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

fkerber 30. Apr 2006 11:46

Re: Memo an E-Mail versenden.
 
Hi!

Dann solltest du auch jeden Fall mal deine Uses erweitern. Ganz sicher mal um "mapi" und zu den anderen musst du halt mal in der OH schauen, in welchen units sie definiert sind.


Ciao Frederic

Area51 30. Apr 2006 18:05

Re: Memo an E-Mail versenden.
 
Hallo.
Danke erstmal.
Wie kan ich Uses erweitern?? Ist diese Erweiterung gratis?? Ich habe die Delphi7 CD nicht mehr. mfg.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz