Seite 1 von 2

Mail senden über Outlook

Verfasst: 16.02.2012 09:52
von Velindos
Hallo,
möchte meine Mail aus meiner Datenbank erstellen und an Outlook übergeben.
Funktioniert nur zum Teil, es fehlt der Anhang und Cc.., auch die Formate im Nachrichten fehlen.

Code: Alles auswählen

EnableExplicit
;{ Constanten
;- Constanten
Enumeration
  #T_Mail_An
  #T_Mail_CC
  #T_Mail_Betreff
  #T_Mail_Nachricht
  #S_Mail_Betreff
  #T_Mail_Anhang
  #S_Mail_An
  #S_Mail_CC
  #S_Mail_Anhang
  #B_Ringbutton
  #T_DB_Mail
  #T_DB_Betreff
    #T_DB_CC
  #S_DB_CC
  #S_DB_Mail
  #S_DB_Betreff
  #B_DB_Senden
  #B_Mail_Senden
  #B_Mail_InfoMail
  #S_Mail_Nachricht
  #Editor_Window

  #Editor_StyleF
  #Editor_StyleY
  #Editor_StyleB
  #Editor_StyleI
  #Editor_StyleU
  #Editor_StyleFC
  #Editor_StyleBC
  #Editor_Number
  #Editor_AlignR
  #Editor_AlignC
  #Editor_AlignL
  
  #Editor_Menu
  #Editor_MenuNew
  #Editor_MenuOpen
  #Editor_MenuSave
  #Editor_MenuQuit
  
  #Editor_ImageFC
  #Editor_ImageBC
EndEnumeration

#CFM_BACKCOLOR    = $4000000
#SF_USECODEPAGE   = $20
#CP_UTF8      = 65001
;}
;{ Global
;- Global
Global LizenzWindows$ = "Beispiel"
Global Editor_FileName$ = ""
Global Editor_Pattern$ = "RTF (*.rtf)|*.rtf|Text (*.txt)|*.txt|Unicode (*.txt)|*.txt|UTF8 (*.utf8)|*.utf8"
Global sMailAdd.s
Global sRecipient.s
Global sMsg.s
Global sSubj.s
Global sAttachment.s
Global sCommand.s


;}
;{ Fonts
;- Fonts

;}
;{-Image Plugin
;-Images
UsePNGImageDecoder()
UsePNGImageEncoder()
;}
;{ Images
Enumeration
EndEnumeration
;}
;{ Included Images
DataSection
EndDataSection
CreateImage(#Editor_ImageFC,12,12)
CreateImage(#Editor_ImageBC,12,12)
;}
;{ Start Database deklaration
;- START
UseSQLiteDatabase()
InitNetwork()


;}
;{ CompilingSesion
;}








Procedure Editor_EnumFontProc(*lpelfe.LOGFONT , *lpntme.TEXTMETRIC , fontType , lParam)
  AddGadgetItem(#Editor_StyleF , -1 , PeekS(@*lpelfe\lfFaceName))
  ProcedureReturn 1
EndProcedure

Procedure Editor_StreamOutCallback(dwCookie , *pbBuff , cb , *pcb.Long)
  *pcb\l = WriteData(dwCookie , *pbBuff , cb)
  ProcedureReturn (Not *pcb\l)
EndProcedure

Procedure Editor_StreamInCallback(dwCookie , *pbBuff.l , cb , *pcb.Long)
  *pcb\l = ReadData(dwCookie , *pbBuff , cb)
  ProcedureReturn (Not *pcb\l)
EndProcedure

Procedure Editor_UpdateGadgets(editor)
  Protected cf.CHARFORMAT2
  Protected pf.PARAFORMAT2
  Protected fName$ , i
  
  cf\cbSize   = SizeOf(CHARFORMAT2)
  SendMessage_(GadgetID(editor) , #EM_GETCHARFORMAT , #SCF_SELECTION , cf)
  
  pf\cbSize   = SizeOf(PARAFORMAT2)
  SendMessage_(GadgetID(editor) , #EM_GETPARAFORMAT , 0 , pf)   
  
  If cf\dwMask   & #CFM_SIZE
    SetGadgetText(#Editor_StyleY , Str(cf\yHeight * 0.05))
  EndIf   
  If cf\dwMask   & #CFM_FACE
    fName$ = PeekS(@cf\szFaceName , 32)
    For i = 0 To CountGadgetItems(#Editor_StyleF) - 1
      If GetGadgetItemText(#Editor_StyleF , i) = fName$
        SetGadgetState(#Editor_StyleF , i)
        Break
      EndIf
    Next
  EndIf   
  If cf\dwEffects & #CFE_BOLD
    SetGadgetState(#Editor_StyleB , 1)
  Else
    SetGadgetState(#Editor_StyleB , 0)
  EndIf
  If cf\dwEffects & #CFE_ITALIC
    SetGadgetState(#Editor_StyleI , 1)
  Else
    SetGadgetState(#Editor_StyleI , 0)
  EndIf
  If cf\dwEffects & #CFE_UNDERLINE
    SetGadgetState(#Editor_StyleU , 1)
  Else
    SetGadgetState(#Editor_StyleU , 0)
  EndIf   
  If cf\crTextColor <> -1
    StartDrawing(ImageOutput(#Editor_ImageFC))
    Box(0,0,ImageWidth(#Editor_ImageFC),ImageHeight(#Editor_ImageFC), cf\crTextColor)
    StopDrawing()
    SetGadgetAttribute(#Editor_StyleFC , #PB_Button_Image , ImageID(#Editor_ImageFC))
  EndIf
  If cf\crBackColor <> -1
    StartDrawing(ImageOutput(#Editor_ImageBC))
    Box(0,0,ImageWidth(#Editor_ImageBC),ImageHeight(#Editor_ImageBC), cf\crBackColor)
    StopDrawing()
    SetGadgetAttribute(#Editor_StyleBC , #PB_Button_Image , ImageID(#Editor_ImageBC))
  EndIf
  If pf\dwMask & #PFM_ALIGNMENT
    SetGadgetState(#Editor_AlignR , 0)
    SetGadgetState(#Editor_AlignC , 0)
    SetGadgetState(#Editor_AlignL , 0)   
    Select pf\wAlignment
      Case #PFA_LEFT      : SetGadgetState(#Editor_AlignL , 1)
      Case #PFA_CENTER   : SetGadgetState(#Editor_AlignC , 1)
      Case #PFA_RIGHT      : SetGadgetState(#Editor_AlignR , 1)
    EndSelect
  EndIf
  If pf\dwMask & #PFM_NUMBERING
    Select pf\wNumbering
      Case 0            : SetGadgetState(#Editor_Number , 0)           
      Default         : SetGadgetState(#Editor_Number , 1)
        
    EndSelect
  EndIf   
  SetActiveGadget(editor)
EndProcedure

Procedure Editor_SetFontName(editor , fontName$)
  Protected cf.CHARFORMAT2
  If fontName$ <> ""
    cf\cbSize      = SizeOf(CHARFORMAT2)               
    cf\dwMask      = #CFM_FACE
    PokeS(@cf\szFaceName   , fontName$ , 32)
    SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
    Editor_UpdateGadgets(editor)
  EndIf
EndProcedure

Procedure Editor_SetFontHeight(editor , fontSize)   
  Protected cf.CHARFORMAT2
  If fontSize > 0
    cf\cbSize      = SizeOf(CHARFORMAT2)               
    cf\dwMask      = #CFM_SIZE
    cf\yHeight      = fontSize * 20.0
    SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
    Editor_UpdateGadgets(editor)
  EndIf   
EndProcedure

Procedure Editor_SetFontColor(editor , fontColor)
  Protected cf.CHARFORMAT2
  If fontColor <> -1     
    cf\cbSize      = SizeOf(CHARFORMAT2)               
    cf\dwMask      = #CFM_COLOR
    cf\crTextColor   = fontColor
    SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)     
    Editor_UpdateGadgets(editor)
  EndIf
EndProcedure

Procedure Editor_SetBackColor(editor , backColor)
  Protected cf.CHARFORMAT2
  If backColor <> -1     
    cf\cbSize      = SizeOf(CHARFORMAT2)               
    cf\dwMask      = #CFM_BACKCOLOR
    cf\crBackColor   = backColor
    SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)     
    Editor_UpdateGadgets(editor)
  EndIf
EndProcedure

Procedure Editor_SetFontStyle(editor , mask)
  Protected cf.CHARFORMAT2
  cf\cbSize         = SizeOf(CHARFORMAT2)               
  cf\dwMask         = mask
  cf\dwEffects      = 0
  If GetGadgetState(#Editor_StyleB)
    cf\dwEffects   | #CFE_BOLD
  EndIf
  If GetGadgetState(#Editor_StyleI)
    cf\dwEffects   | #CFE_ITALIC
  EndIf
  If GetGadgetState(#Editor_StyleU)
    cf\dwEffects   | #CFE_UNDERLINE
  EndIf
  SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)               
  Editor_UpdateGadgets(editor)
EndProcedure

Procedure Editor_SetAlignment(editor , alignment)
  Protected pf.PARAFORMAT2
  pf\cbSize         = SizeOf(PARAFORMAT2)               
  pf\dwMask         = #PFM_ALIGNMENT
  pf\wAlignment      = alignment
  SendMessage_(GadgetID(editor) , #EM_SETPARAFORMAT , 0 , pf)
  Editor_UpdateGadgets(editor)
EndProcedure

Procedure Editor_SetNumbering(editor , format)
  Protected pf.PARAFORMAT2
  pf\cbSize         = SizeOf(PARAFORMAT2)               
  pf\dwMask         = #PFM_NUMBERING | #PFM_NUMBERINGTAB
  pf\wNumbering      = format
  pf\wNumberingTab   = 500
  SendMessage_(GadgetID(editor) , #EM_SETPARAFORMAT , 0 , pf)
  Editor_UpdateGadgets(editor)
EndProcedure

Procedure Editor_Quit()
  End   
EndProcedure

Procedure Editor_Callback(hwnd , msg , wparam , lparam)
  Protected *nmhdr.NMHDR   
  If msg = #WM_NOTIFY
    *nmhdr = lparam
    If *nmhdr\code = #EN_SELCHANGE
      Editor_UpdateGadgets(*nmhdr\idFrom)
    EndIf      
  EndIf   
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

Procedure Editor_Initialize(editor , fontName$ = "Arial" , fontHeight = 10 , fontStyle = 0 , fontColor = #Black , backColor = #White)
  Protected lf.LOGFONT , y
  
  ClearGadgetItems(editor)
  ClearGadgetItems(#Editor_StyleF)
  ClearGadgetItems(#Editor_StyleY)
  
  EnumFontFamiliesEx_(GetDC_(GadgetID(editor)) , lf , @Editor_EnumFontProc() , 0 , 0)
  
  For y = 1 To 100
    AddGadgetItem(#Editor_StyleY , -1 , Str(y))
  Next   
  
  If fontStyle & #CFM_BOLD
    SetGadgetState(#Editor_StyleB , 1)
  Else
    SetGadgetState(#Editor_StyleB , 0)
  EndIf   
  If fontStyle & #CFM_ITALIC
    SetGadgetState(#Editor_StyleI , 1)
  Else
    SetGadgetState(#Editor_StyleI , 0)
  EndIf   
  If fontStyle & #CFM_UNDERLINE
    SetGadgetState(#Editor_StyleU , 1)
  Else
    SetGadgetState(#Editor_StyleU , 0)
  EndIf   
  Editor_SetFontStyle   (editor , fontStyle)   
  Editor_SetFontName   (editor , fontName$)
  Editor_SetFontHeight(editor , fontHeight)
  Editor_SetFontColor   (editor , fontColor)
  Editor_SetBackColor   (editor , backColor)
  
  SendMessage_(GadgetID(editor) , #EM_SETEVENTMASK , 0 , #ENM_SELCHANGE)
  SetWindowCallback(@Editor_Callback())
EndProcedure

Procedure Editor_Open(editor , fileName$)
  Protected es.EDITSTREAM , file
  file = ReadFile(#PB_Any , fileName$)
  If IsFile(file)
    Editor_Initialize(editor)
    es\pfnCallback   = @Editor_StreamInCallback()
    es\dwCookie      = file
    Select SelectedFilePattern()
      Case 0 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , #SF_RTF , es)
      Case 1 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , #SF_TEXT , es)
      Case 2 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , #SF_UNICODE | #SF_TEXT , es)
      Case 3 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , (#CP_UTF8 << 16) | #SF_USECODEPAGE | #SF_TEXT , es)            
    EndSelect      
    CloseFile(file)
    Editor_FileName$ = fileName$
  EndIf
EndProcedure

Procedure Editor_Save(editor , fileName$)
  Protected es.EDITSTREAM , file
  file = CreateFile(#PB_Any , fileName$)
  If IsFile(file)      
    es\pfnCallback   = @Editor_StreamOutCallback()
    es\dwCookie      = file      
    Select SelectedFilePattern()
      Case 0 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , #SF_RTF , es)
      Case 1 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , #SF_TEXT , es)
      Case 2 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , #SF_UNICODE | #SF_TEXT , es)
      Case 3 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , (#CP_UTF8 << 16) | #SF_USECODEPAGE | #SF_TEXT , es)            
    EndSelect      
    CloseFile(file)
    Editor_FileName$ = fileName$
  EndIf
EndProcedure
Procedure OutlookSenden()
  ;sMailAdd.s = "Info@MeinMail.de"
  ;sRecipient.s = "Info@CopyMail.de"
  ;sMsg.s  = "Hallo, das ist eine Mail!"
  ;sSubj.s = "Das ist eine Überschrift"
  ;sAttachment.s = "C:\ABC.TXT"
  sCommand.s = "mailto:" +  sMailAdd + "&subject="+ sSubj + "&body="+sMsg + "&Attach=" + Chr(34) + sAttachment + Chr(34) + sRecipient + Chr(34)
  RunProgram(sCommand)
EndProcedure

CreateImage(#Editor_ImageFC,12,12)
CreateImage(#Editor_ImageBC,12,12)

;{ MainWindow
Procedure MainWindow()
  OpenWindow(#Editor_Window,683, 0, 667, 732,"Outlook Beispiel" , #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
  
  CreateMenu(#Editor_Menu , WindowID(#Editor_Window))
  MenuTitle("Datei")
  MenuItem(#Editor_MenuNew    , "Neu")
  MenuItem(#Editor_MenuOpen   , "Öffnen")
  MenuItem(#Editor_MenuSave   , "Speichern")
  MenuBar()
  MenuItem(#Editor_MenuQuit    , "Beenden")
  
  ButtonGadget(#B_Ringbutton, 0, 0, 667, 30, "")
  
  ButtonGadget(#B_Mail_Senden, 380, 70, 60, 20, "Send")
  ButtonGadget(#B_Mail_InfoMail, 450, 70, 50, 20, "InfoMail")
  
  TextGadget(#T_Mail_An, 20, 70, 20, 20, "An...")
  StringGadget(#S_Mail_An, 80, 70, 290, 20, "")
  
  TextGadget(#T_Mail_CC, 20, 100, 30, 20, "Cc...")
  StringGadget(#S_Mail_CC, 80, 100, 500, 20, "")
  
  TextGadget(#T_Mail_Betreff, 20, 160, 40, 20, "Betreff ...")
  StringGadget(#S_Mail_Betreff, 80, 160, 500, 20, "")
  
  TextGadget(#T_Mail_Anhang, 20, 130, 50, 20, "Anhang ...")
  StringGadget(#S_Mail_Anhang, 80, 130, 500, 20, "")
  
  TextGadget(#T_Mail_Nachricht, 20, 185, 60, 20, "Nachricht")
  ;StringGadget(#S_Mail_Nachricht, 80, 185, 500, 20, "")
  
  ButtonGadget(#B_DB_Senden, 390, 620, 160, 20, "Mail Vorschlagen")
  
  TextGadget(#T_DB_Mail, 10, 620, 70, 20, "Mailadresse")
  StringGadget(#S_DB_Mail, 80, 620, 290, 20, "")
  TextGadget(#T_DB_Betreff, 10, 650, 50, 20, "Betreff")
  StringGadget(#S_DB_Betreff, 80, 650, 290, 20, "")
  TextGadget(#T_DB_CC, 10, 680, 70, 20, "Kopie an ..")
  StringGadget(#S_DB_CC, 80, 680, 290, 20, "")
  
  ComboBoxGadget      (#Editor_StyleF   ,  5,  215,140, 20)
  ComboBoxGadget      (#Editor_StyleY   ,155,  215, 50, 20)
  ButtonGadget      (#Editor_StyleB   ,215,  215, 20, 20 , "B"   ,#PB_Button_Toggle)
  ButtonGadget      (#Editor_StyleI   ,240,  215, 20, 20 , "I"   ,#PB_Button_Toggle)
  ButtonGadget      (#Editor_StyleU   ,265,  215, 20, 20 , "U"   ,#PB_Button_Toggle)
  ButtonGadget      (#Editor_AlignL   ,305,  215, 20, 20 , "<"   ,#PB_Button_Toggle)
  ButtonGadget      (#Editor_AlignC   ,330,  215, 20, 20 , "-"   ,#PB_Button_Toggle)
  ButtonGadget      (#Editor_AlignR   ,355,  215, 20, 20 , ">"   ,#PB_Button_Toggle)
  ButtonGadget      (#Editor_Number   ,395,  215, 20, 20 , "o"   ,#PB_Button_Toggle)
  ButtonImageGadget   (#Editor_StyleFC  ,435,  215, 20, 20 , ImageID(#Editor_ImageFC))
  ButtonImageGadget   (#Editor_StyleBC  ,455,  215, 20, 20 , ImageID(#Editor_ImageBC))
  EditorGadget      (#S_Mail_Nachricht, 5, 240,657,322)
  
EndProcedure
;} 

;{-MainWindowInit
;-MainWindowInit

MainWindow()
Editor_Initialize(#S_Mail_Nachricht)
SetGadgetText(#S_DB_Mail,"info@zielmail.com")
SetGadgetText(#S_DB_CC,"info@kopieanmail.com")
SetGadgetText(#S_DB_Betreff,"Das ist ein Testmail")
;OutlookSenden()

;} 
;{- Event Define
Define EventID, Gadget, Event
;} 
;{- Event Repeat
Repeat   
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow         
      Editor_Quit()
    Case #PB_Event_SizeWindow
      ;ResizeGadget(#S_Mail_Nachricht , #PB_Ignore,#PB_Ignore , WindowWidth(#Editor_Window) - 10 , WindowHeight(#Editor_Window) - 155)
    Case #PB_Event_Gadget         
      Select EventGadget()
        Case #Editor_StyleF
          Editor_SetFontName(#S_Mail_Nachricht , GetGadgetText(#Editor_StyleF))
        Case #Editor_StyleY               
          Editor_SetFontHeight(#S_Mail_Nachricht , Val(GetGadgetText(#Editor_StyleY)))
        Case #Editor_StyleB
          Editor_SetFontStyle(#S_Mail_Nachricht , #CFM_BOLD)
        Case #Editor_StyleI
          Editor_SetFontStyle(#S_Mail_Nachricht , #CFM_ITALIC)
        Case #Editor_StyleU
          Editor_SetFontStyle(#S_Mail_Nachricht , #CFM_UNDERLINE)
        Case #Editor_StyleFC
          Editor_SetFontColor(#S_Mail_Nachricht , ColorRequester())
        Case #Editor_StyleBC
          Editor_SetBackColor(#S_Mail_Nachricht , ColorRequester()) 
        Case #Editor_Number
          Editor_SetNumbering(#S_Mail_Nachricht , GetGadgetState(#Editor_Number))
        Case #Editor_AlignL
          Editor_SetAlignment(#S_Mail_Nachricht , #PFA_LEFT)
        Case #Editor_AlignC
          Editor_SetAlignment(#S_Mail_Nachricht , #PFA_CENTER)
        Case #Editor_AlignR
          Editor_SetAlignment(#S_Mail_Nachricht , #PFA_RIGHT)
          
        Case #B_DB_Senden
          SetGadgetText (#S_Mail_An,GetGadgetText(#S_DB_Mail))
          SetGadgetText (#S_Mail_Betreff,GetGadgetText(#S_DB_Betreff))
          SetGadgetText (#S_Mail_CC,GetGadgetText(#S_DB_CC))
          SetGadgetText(#S_Mail_Anhang,"Info.txt")
          
          
        Case #B_Mail_Senden
          sMailAdd.s =GetGadgetText(#S_Mail_An)
         sRecipient.s = GetGadgetText(#S_Mail_CC);
          sSubj.s =GetGadgetText(#S_Mail_Betreff)
          sAttachment.s =GetGadgetText(#S_Mail_Anhang)
          sMsg.s =GetGadgetText(#S_Mail_Nachricht)
          OutlookSenden()
          
      EndSelect
      
    Case #PB_Event_Menu
      Select EventMenu()
        Case #Editor_MenuNew
          ClearGadgetItems(#S_Mail_Nachricht)
        Case #Editor_MenuOpen
          Editor_Open(#S_Mail_Nachricht , OpenFileRequester("" , Editor_FileName$ , Editor_Pattern$ , SelectedFilePattern()))
        Case #Editor_MenuSave
          Editor_Save(#S_Mail_Nachricht , SaveFileRequester("" , Editor_FileName$ , Editor_Pattern$ , SelectedFilePattern()))
        Case #Editor_MenuQuit
          Editor_Quit()
      EndSelect         
    Case #PB_Event_Menu
      Select EventMenu()
        Case #Editor_MenuNew
      EndSelect        
      ;-Case Gadget
    Case #PB_Event_CloseWindow:Break
      Select EventID 
      EndSelect
      ;OutlookSenden()
      ;-Case Drag & Drop
    Case #PB_Event_GadgetDrop
      Select EventGadget()
      EndSelect 
      ;-Case Menue
    Case #PB_Event_Menu
      Select EventMenu()
      EndSelect
  EndSelect      
ForEver
;}
Kann jemand helfen?
Gruss ... Velindos

Re: Mail senden über Outlook

Verfasst: 16.02.2012 13:54
von bobobo
Wennste schon sowas wie einen MailClient zum Versenden schreibst kannst Du doch auch gleich über den versenden
gnozals Libs hier Pure_SMTP_... hilft da echt weiter und Du kannst Outlook dafür in die Tonne hauen.


Laut RFC ist ein Anhang per Kommandozeile glaub ich gar nicht definiert.

habe aber auch das folgende in Google "gefunden"
<a href='mailto:name@domain.com?Subject=SubjTxt&Body=Bod_Txt&Attachment=""C:\file.txt"" '>

die Doppelten Anführungsstriche sind wohl Pflicht

Vermutlich schert sich MS aml wieder einen Dreck um Spezifikationen..

wenns geht ist es auch egal (bei mir geht es NICHT)

und formatierte Nachrichten sind imo HTML-Seiten. Dabei sollte man immer zwei
Versionen (ein unformatierte und eine MHTL-formatierte)verschicken und entsprechend
in der Mail kennzeichen (siehe ftp://ftp.rfc-editor.org/in-notes/rfc2368.txt)

Re: Mail senden über Outlook

Verfasst: 16.02.2012 14:45
von Velindos
Hallo bobobo,
danke für deinen Tip, habe folgendes daraus gemacht

Code: Alles auswählen

  sCommand.s = "mailto:" +  sMailAdd + "&cc="+  sRecipient  + "&subject="+ sSubj + "&body="+sMsg + "&Attachment=" + "'D:\mail.txt'" +Chr(34) 
bringt aber auch nicht den Erfolg. Es erscheint kein Anhang, obwohl Outlook ordentlich aufgerufen wird!

Die Sache mit CC ist gelöst(siehe "&cc="), diese erscheint im Outlook Mail ordentlich.

Hat jemand eine Ahnung warum er bei der Übergabe an Outlook, das Bild nicht mitgibt, lässt er einfach aus, obwohl es ein .RTF Dokument ist!

Gruss ... Velindos

Re: Mail senden über Outlook

Verfasst: 16.02.2012 22:50
von bobobo
Anhänge werden per mailto gerne mal NICHT genommen u.a.auch weil es ein Sicherheits-Ding
sein könnte.

siehe die o.a. RFC .. mailto unterstützt das so gar nicht

und nun nochmal mein Verweis auf die gnozal-libs
http://gnozal.ucoz.com/
diese werden gut gepflegt ..weiteres findest du im englischen forum

Re: Mail senden über Outlook

Verfasst: 16.02.2012 23:08
von HeX0R
Was ist denn mit PBs hausinternen Mail-Befehlen.
Taugen die nix? (Habe mich damit noch nicht befasst)

Re: Mail senden über Outlook

Verfasst: 16.02.2012 23:18
von ts-soft
HeX0R hat geschrieben:Was ist denn mit PBs hausinternen Mail-Befehlen.
Taugen die nix? (Habe mich damit noch nicht befasst)
Doch, für SMTP-Server, die keine Authentisierung benötigen, also fast keinen :mrgreen:
Bei Telekom DSL-Anschlüssen, wo die Authentisierung zum Telekom Mail automatisch
erfolgt oder bei eigenen Mail-Servern könnte es funktionieren.

IMHO im Moment ziemlich sinnlos diese Lib.

Re: Mail senden über Outlook

Verfasst: 17.02.2012 15:16
von Nino
bobobo hat geschrieben:Laut RFC ist ein Anhang per Kommandozeile glaub ich gar nicht definiert.
Genau. Technisch gesehen ist ein Anhang Teil des Mail-Body. Den Body müsste man sich daher vor dem Versenden selbst "zusammenbasteln" (incl. der korrekten Kennzeichnung von Anhängen sowie der korrekten Behandlung formatierter MIME-Parts, die Du auch schon angesprochen hast).

Dafür sind diese mailto-URLs aber gar nicht gedacht:
RFC 2368 hat geschrieben:The "body" hname should contain the content for the first text/plain body part of the message. The mailto URL is primarily intended for generation of short text messages that are actually the content of automatic processing (such as "subscribe" messages for mailing lists), not general MIME bodies.
Also sollte man sich nicht wundern, wenn es dabei (je nach verwendetem Browser und Mailprogramm) z.B. mit Anhängen Probleme gibt.
bobobo hat geschrieben:Wennste schon sowas wie einen MailClient zum Versenden schreibst kannst Du doch auch gleich über den versenden
gnozals Libs hier Pure_SMTP_... hilft da echt weiter und Du kannst Outlook dafür in die Tonne hauen.
Ich selbst habe Pure_SMTP noch nicht benutzt, aber das ist ja wohl seit langem gut etabliert.
Außerdem hat hier im Forum vor einiger Zeit jemand ein komplettes Mailprogramm im Quelltext veröffentlicht.

In Bezug auf PBs eigene Mail-Lib:
ts-soft hat geschrieben:IMHO im Moment ziemlich sinnlos diese Lib.
Das kann man beim besten Willen leider kaum anders sagen.

Grüße, Nino

Re: Mail senden über Outlook

Verfasst: 17.02.2012 15:40
von rolaf
Nino hat geschrieben:Außerdem hat hier im Forum vor einiger Zeit jemand ein komplettes Mailprogramm im Quelltext veröffentlicht.
http://www.purebasic.fr/german/viewtopi ... =8&t=23097 :allright:

Re: Mail senden über Outlook

Verfasst: 17.02.2012 18:01
von HeX0R
rolaf hat geschrieben:
Nino hat geschrieben:Außerdem hat hier im Forum vor einiger Zeit jemand ein komplettes Mailprogramm im Quelltext veröffentlicht.
http://www.purebasic.fr/german/viewtopi ... =8&t=23097 :allright:
Das mit den Links posten üben wir noch ;)
http://www.purebasic.fr/german/viewtopi ... =8&t=23097

Re: Mail senden über Outlook

Verfasst: 17.02.2012 21:27
von dige
Eigentlich soll die Email doch nur an Outlook übergeben werden, oder nicht?
Das geht doch prima mit dem COMate..

Suche mal in den Foren nach folgenden Stichwort:

Code: Alles auswählen

COMate_CreateObject("Outlook.Application")