AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Flags für MAPI Sendmail Aufruf
Thema durchsuchen
Ansicht
Themen-Optionen

Flags für MAPI Sendmail Aufruf

Ein Thema von runger · begonnen am 21. Okt 2005 · letzter Beitrag vom 21. Okt 2005
Antwort Antwort
Seite 1 von 2  1 2      
runger
(Gast)

n/a Beiträge
 
#1

Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 07:13
Hallo,

wir wollen über eine MAPI Funktion E-mails versenden.
Unser E-mail Client ist Lotus Notes.

Delphi-Quellcode:
function sendMail( const TargetName, TargetAddr,
                         SenderName, SenderAddr,
                         MsgSubject, MsgContent,
                         Attachment : String;
                         PreviewMsg : Boolean = TRUE ) : Integer;
var
  msg : TMapiMessage; // Pointer to the message itself
  mrdSender, // Who's sending it?
  mrdTarget : TMapiRecipDesc; // Who's going to get it?
  mfdAttach : TMapiFileDesc; // The attached file.
  liFlags : Longint; // Flags for MAPI.
  strError : String; // Holds MAPI error results;
begin
 result := 0;
 liFlags := 0;
 fillChar( msg, sizeOf( msg ), 0 );
 with msg do
 begin

// if TargetAddr = '' then
// raise tMailFileException.createFmt( ERROR,
// [ 'Target email address not specified' ] )
   begin
      if TargetName = 'then
         mrdTarget.lpszName := pChar( TargetAddr )
      else
         mrdTarget.lpszName := pChar( TargetName );
      mrdTarget.ulRecipClass := MAPI_TO;
      mrdTarget.lpszAddress := pChar( TargetAddr );
      mrdTarget.ulReserved := 0;
      mrdTarget.ulEIDSize := 0;
      mrdTarget.lpEntryID := NIL;
      nRecipCount := 1;
      lpRecips := @mrdTarget;

   end;

// if SenderAddr = '' then
// raise tMailFileException.createFmt( ERROR,
// [ 'Sender email address not specified' ] )
   begin
      if SenderName = 'then
         mrdSender.lpszName := pChar( SenderAddr )
      else
         mrdSender.lpszName := pChar( SenderName );
      mrdSender.ulRecipClass := MAPI_ORIG;
      mrdSender.lpszAddress := pChar( 'SMTP:' + SenderAddr );
      mrdSender.ulReserved := 0;
      mrdSender.ulEIDSize := 0;
      mrdSender.lpEntryID := NIL;
      lpOriginator := @mrdSender;
   end;

   if MsgSubject = 'then
      lpszSubject := ''
   else
      lpszSubject := pChar( MsgSubject );

// if ( MsgContent = '' ) AND ( Attachment = '' ) then
// raise tMailFileException.createFmt( ERROR,
// [ 'Tried to send an empty message (no content or attachment)' ] )
   begin
      if MsgContent = 'then
         lpszNoteText := 'Please see the attached file.'
      else
         lpszNoteText := pChar( MsgContent );

      if Attachment = 'then begin
         nFileCount := 0;
         lpFiles := NIL;
      end else begin
         fillChar( mfdAttach, sizeOf( mfdAttach ), 0 );
         mfdAttach.nPosition := cardinal( $FFFFFFFF );
         mfdAttach.lpszPathName := pChar( Attachment );
         nFileCount := 1;
         lpFiles := @mfdAttach;
      end;
   end; // with

   if previewMsg then liFlags := MAPI_DIALOG;
   result := mapiSendMail( 0, application.Handle, msg, liFlags, 0 );


{  if result <> 0 then
      raise tMailFileException.createFmt( ERROR,
        [ 'MAPI triggered an error ('
           + getMAPIError( result ) + ')' ] );   }

  end;

end;
Das Ganze funktioniert insoweit, dass E-mails in Notes erzeugt werden, es öffnet sich das normale Mew mail Fenster und ich sehe meine generierte Mail.
Wie krieg ich notes dazu, dass es diese mail auch sendet.
Offensichtlich hat es irgendetwas mit liflags und MAPI_DIALOG zu tun.
Mapi_dialog sthet auf 8, das heisst: trage E-mail ein.
Gefunden hab ich noch die 4 das bedeudet sende E-Mail. Funktioniert aber nicht.
Kann mir jemand helfen?

Die Fehlerabfragen sind auskommentiert.

Rainer
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 08:27
Hallo Rainer,

es gibt laut PSDK nur drei zulässige Flags für MapiSendMail(), $4 gehört nicht dazu. Rufst du deine Funktion eventuell immer mit PreviewMsg = TRUE auf? Sobald die Flags MAPI_DIALOG enthalten, soll die Mail durch den Benutzer verschickt werden. Ansonsten gibt es noch den Fall, dass kein gültiger Empfänger angegeben ist - auch dann erfolgt kein automatischer Versand.

Grüße vom marabu
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#3

Re: Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 10:00
Hall marabu,

sorry aber das Ganze funktioniert immer noch nicht. Notes weigert sich das Mail zu senden, obwohl der Rückgabewerd der Funktion 0 ist, die Mail also gesendet sein müsste. msgpreview steht auf false.

Rainer
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 10:09
Zitat von runger:
Notes weigert sich das Mail zu senden
Rainer
Hallo runger,

wie wäre es mit MapiLogon, damit Du ein Sessionhandle erhältst? Du verwendest bei mapiSendMail 0 als Sessionhandle...
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#5

Re: Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 10:29
Hatte einen Beitrag irgendwo gelesen, dass Notes den automatischen Versand überhaupt nicht unterstützt. Schon mal an diese Möglichkeit gedacht/recheriert?
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#6

Re: Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 11:23
Hallo,

wenn du mir jetzt noch sagst wie man mapilogon benutzt wäre ich glücklich.

Rainer
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#7

Re: Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 11:27
Hallo,

ich habe verschiedene Beschreibungen gelesen, dass die automatische Weiterleitung aus Word und Excel unterstützt wird. Ich geh mal davon aus, dass das mit MAPI auch geht.
Ausserdem gibts in Notes eine installierbare MAPI Schnittstelle.

Rainer
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 11:32
Zitat von runger:
Hallo,

wenn du mir jetzt noch sagst wie man mapilogon benutzt wäre ich glücklich.

Rainer
Delphi-Quellcode:
var
   MAPI_Session : Cardinal;
// Anmelden
dwRet := MapiLogon(Handle,
    PChar(''),
    PChar(''),
    MAPI_LOGON_UI or MAPI_NEW_SESSION,
    0, @MAPI_Session);
// Senden
MapiSendMail(MAPI_Session, Handle,
      MapiMessage, MAPI_DIALOG, 0);
// Abmelden
MapiLogOff(MAPI_Session, Handle, 0, 0);
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#9

Re: Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 11:53
Hallo,

funktioniert nicht. Notes öffnet das New mail Fenster, trägt alles ein, dann ist schluss.

Rainer
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Flags für MAPI Sendmail Aufruf

  Alt 21. Okt 2005, 11:55
Was heisst "Schluss"? Hängt sich das Mailfenster auf oder was?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.
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