Avatar billede jekk Nybegynder
11. marts 2002 - 15:42 Der er 11 kommentarer og
2 løsninger

Linieskift i MAILTO:

Hej ...

problem:
linieskift vises ikke i den afsendte mail ! ?

xResult := ShellExecute(0,'Open',PChar('Mailto:'+Editemailadr.text+'?subject='+EditEmne.Text+'&body='+MemoBesked.text),nil,nil,sw_Shownormal);

MemoBesked.text indeholder en række linier...

hele MemoBesked-teksten står som en lang streng !

har prøvet med:
MemoBesked.Lines.Add(#13+#10);
virker IKKE !

hvordan får man lavet linieskift, så også OutLookExpress opfatter det som linieskift ?
Avatar billede borrisholt Novice
11. marts 2002 - 15:49 #1
har du tænkt på at bruge MAPI i stedet ?

jens B
Avatar billede jekk Nybegynder
11. marts 2002 - 15:56 #2
er ikke klar over hvordan det virker og hvordan man gør ...

kunne ikke finde noget i D5's help ...

har brug for, at OutLookExpress kan vise sendte mails ...
Avatar billede dkn Nybegynder
11. marts 2002 - 15:58 #3
procedure MapiSendMail(const Recipient, Subject, Body, AttachedFile:
string);
var
  MapiMessage: TMapiMessage;
  lpRecipient: TMapiRecipDesc;
  FileAttach: TMapiFileDesc;
  SM: TFNMapiSendMail;
  MAPIModule: HModule;
  Err: integer;
begin
  FillChar(MapiMessage, SizeOf(MapiMessage), 0);
  if (Subject <> '') then
    MapiMessage.lpszSubject := PChar(Subject);

  if (Body <> '') then
    MapiMessage.lpszNoteText := PChar(Body);

  if (Recipient <> '') then
  begin
    FillChar(lpRecipient, SizeOf(lpRecipient), 0);
    lpRecipient.ulRecipClass := MAPI_TO;
    lpRecipient.lpszName := PChar(Recipient);
    lpRecipient.lpszAddress := PChar(Recipient);
    MapiMessage.nRecipCount := 1;
    MapiMessage.lpRecips := @lpRecipient;
  end;

  if AttachedFile <> '' then
  begin
    MapiMessage.nFileCount := 1;
    FillChar(FileAttach, SizeOf(FileAttach), 0);
    FileAttach.nPosition := Cardinal($FFFFFFFF);
    FileAttach.lpszPathName := PChar(AttachedFile);
    MapiMessage.lpFiles := @FileAttach;
  end;

  MAPIModule := LoadLibrary(PChar(MAPIDLL));
  try
    if MAPIModule = 0 then
      raise Exception.Create('MAPI is not supported on this system');
    @SM := GetProcAddress(MAPIModule, 'MAPISendMail');
    if @SM = nil then
      raise Exception.Create('MAPISendMail ProcAddress not found');
    Err := SM(0, Application.Handle, MapiMessage, MAPI_DIALOG or
MAPI_LOGON_UI, 0);
    if Err <> 0 then
      raise Exception.Create('MAPI Error sending mail (' + IntToStr(Err) +
')');
  finally
    FreeLibrary(MAPIModule);
  end;
end;
Avatar billede borrisholt Novice
11. marts 2002 - 16:00 #4
jeg har den også i en pænere version hvor den er pakket ind i en klasse ...

Du ved oop.

Jens B
Avatar billede borrisholt Novice
11. marts 2002 - 16:08 #5
http://borrisholt.com/eksperten/mapi.zip kan du hente et færdigt eksempel.

Jens B
Avatar billede borrisholt Novice
11. marts 2002 - 16:08 #6
min version har endvidere den fordel at brugeren ikke selv skal trykke send !

Jens B
Avatar billede werd Nybegynder
11. marts 2002 - 16:23 #7
hvad snakker du om boris?? dkn's virker fint hvorfor laver du så en helt ny og pakker i zip og alt muligt... har du ikke noget liv ud over eksperten?? Hvis du har så meget tid må du gerne lave et voice chatprogram til mig!!
Avatar billede borrisholt Novice
11. marts 2002 - 16:26 #8
Jeg kender så udemærket den postede version .. I det jeg selv flere gange har posted den ....

På et tidspunkt havde jeg brug for at udvide den, og pakkede den derfor ind ....

Så ville jeg blot her poste den opdaterede version ....

Jens B
Avatar billede jekk Nybegynder
11. marts 2002 - 17:02 #9
borrisholt >>
har hentet, udpakket og implementeret det i mit eksisterende program - og afprøvet det -

jeg kan ikke se om det virker - idet den sendte mail, ikke havner i min 'Sendt post' bakke og det er et ønske, idet der er tale om en slags kvitterings-mail jeg skal udsende -
er det mig der gør noget forkert ???
Avatar billede jekk Nybegynder
11. marts 2002 - 19:41 #10
borrisholt >>
jeg har nu tilføjet jvnf. din DCU/pas-fil -
BlindCopyTo....
for at løse problemet med de manglende mails i 'Sendt post'...
MEN, der bliver overhovedet ikke sendt noget !!! ???
d.v.s. - dette virker ikke:
---------------------------------------------
  With TMapiControl.Create(Self) do
  try
    FromName := 'min@adresse.dk';
    Recipients.Add(Editemailadr.text);
    BlindCopyTo.Add('migselv@adresse.dk');
    Subject  := EditEmne.Text;
    Body    := MemoBesked.text;
    Sendmail;
  finally
    free;
  end;
---------------------------------------------
?????
jeg har endnu ikke prøvet dkn's kode...
Avatar billede borrisholt Novice
12. marts 2002 - 08:36 #11
jeg ved det ikke ... det her kode har jeg netop testwet her til morgebn og det virker hos mig :

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    procedure UserAbort (Sender : TObject);
    procedure MapiError (Sender: TObject; ErrCode: Integer);
    procedure Success (Sender : TObject);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
uses
  MapiControl;
procedure TForm1.Button1Click(Sender: TObject);
begin
  With TMapiControl.Create(Self) do
  try
    FromName := 'dig';
    Recipients.Add('Jens@Borrisholt.com');
    Subject := 'Thanx dude !';
    Body := 'Thanx al lot dude'#10#13'for the cool component';
    OnUserAbort := UserAbort;
    OnMapiError := MapiError;
    OnSuccess := Success;
    Sendmail;
  finally
    free;
  end;

end;

procedure TForm1.MapiError(Sender: TObject; ErrCode: Integer);
begin
  ShowMessage('Error');
end;

procedure TForm1.Success(Sender: TObject);
begin
  ShowMessage('Success');
end;

procedure TForm1.UserAbort(Sender: TObject);
begin
  ShowMessage('UserAbort');
end;

end.


Jens B
Avatar billede borrisholt Novice
12. marts 2002 - 08:37 #12
dkn's kode og mit kode bygger på det samme .. Forskellen er blot jeg har pakket mit ind i en klasse, tilføjet nogle events, samt muligheden for at sende en mail direkte uden ar brugeren skal trykke på send i deres mail klient.

Jens B
Avatar billede werd Nybegynder
19. oktober 2002 - 16:14 #13
måske på tide at lukke spørgsmålet?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester