Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Mail Outlock Signatur Bild ist weg

Begonnen von Jonny, Mai 24, 2013, 11:39:25

⏪ vorheriges - nächstes ⏩

Jonny

Hallo,
bei versenden von Mail mit Signatur fehlt das Bild.
Es erscheint kurz und ist dann weider weg.

Gruß

Johann

69bruno

Fehlt es auch beim Empfänger ?

Wenn nicht könnte es ja sein, dass Outlook Platz sparen will und Bilder beim versenden nicht dauerhaft speichert......
If Brain <= requestoutofPost then
  PostonForum "Ich verstehe Dein Problem nicht....."
Else
  PostonForum "Denk erst mal über die Normalisierung nach......"
End If

Jonny

Hallo,

das Bild ist vollkommen weg. Kommt auch nicht beim Empfänger an.

Seltsam ist das es sich um die gleiche Signature handelt.
Neue Mail über Outlock erstellt: Signatur mit Bild ist da.
Neue Mail über Acc erstellt: Signatur ist da, Bild erscheint kurz, dann steht da kann nicht dargestellt werden.

System Win7, Access 2010 64bit.

Gruß

Johann

DF6GL

Hallo,

die Bilder , die in Outlook-Signaturen eingebaut sind, können  je nach verwendetem Editor (Outlook/Optionen/Signaturen/Bearbeiten/Bild einfügen   oder   Einfügen des Bildes mittels Drag&Drop oder Word als Email-Editor) unterschiedlich behandelt werden. Bei Word z. B. wird im Signatures-Unterverzeichnis ein weiteres Verzeichnis angelegt, in dem die Bilddatei dann gespeichert wird.  Bei "Bild einfügen" kommt in der Signatur nur ein Link zum Einsatz, der auf die Original-Bilddatei verweist.  Vermutlich liegt der Hund hier im Pfeffer (oder ist der Hase begraben ;-)   ) , dass das Bild beim "Access"  (wie wird denn die Mail damit überhaupt erstellt?)    im weiteren Verlauf nicht mehr gefunden wird.





Jonny

Hallo,

folgende Routine erstellt die Mail:

Sub EmailsendenHTML(MailAdresse, ZwDatei, ZwBetreff, ZwNachricht, ZwSignatur)
    'ZwDatei = Dateianhang, ZwBetreff = Betreff, ZwNachricht = Nachricht, ZwSignatur = ID der Signatur
    Dim DB As DAO.Database
    Dim Rs As DAO.Recordset
    Set DB = CurrentDb
    Set Rs = DB.OpenRecordset("Signatur", dbOpenDynaset)
    ' Tabelle mit Pfad und Dateiname der Signaturen, htm-Dateien
    Rs.FindFirst "ID = " & ZwSignatur
    If Rs.NoMatch Then
        MsgBox ("Tabelle Signatur fehlt oder defekt")
        Exit Sub
    End If
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim SigString As String
    Dim Signature As String
    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    Set OutMail = OutApp.CreateItem(0)
    strbody = ZwNachricht
   
    If IsNull(Rs!signatur) Or Rs!signatur = "" Then
    Else
        strbody = strbody & "<P class=MsoNormal align=left><SPAN style='FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 10pt'>"
        strbody = strbody & "<IMG style='WIDTH: 111px; HEIGHT: 95px' border=0 hspace=0 alt='' align=baseline src='" & Rs!signatur & "'></SPAN></P>"
    End If

    SigString = Rs!signatur
    If Dir(SigString) <> "" Then
        Signature = GetBoiler(SigString)
      Else
        Signature = ""
    End If
   
    On Error Resume Next
    'Mail erstellen
    With OutMail
        .Display
        .Subject = ZwBetreff
        .To = MailAdresse
        '.CC = "test1@test.de"                 ' nicht benötigt
        .Attachments.Add ZwDatei
        .HTMLBody = strbody & "<br><br>" & Signature
    End With
    Set OutApp = Nothing
    Set OutMail = Nothing
   
End Sub

Läuft bis auf das Bild in der Signatur auf Win XP, Acc 2007 und Win 7 Acc 2010 64Bit.

Gruß

Johann

DF6GL

Hallo,

was macht denn "GetBoiler" ? Ich vermute, dass damit die Bilddatei als Text ausgelesen wird.
Checke mal, ob das so gemacht wird und teste, ob die Bilder im png oder jpg-Format vorliegen. Es könnte auch sein, dass ein passender Grafikfilter nicht installiert ist.




Jonny

Hallo,
deine Vermutung ist richtig.
GetBoiler erstellt die Signatur.
Das Bild ist als jpg vorhanden.

Gruß

Johann

DF6GL

Hallo,

mhmm,


bist Du sicher, dass Du nicht einer Fehlinterpretation aufsitzt?

Wenn es es eine Standard-Signatur (zugewiesene Sig. für das Konto)  gibt und Du läßt den Code ablaufen, dann wird zunächst eine neue "leere" Mail, aber MIT der Standard-Signatur erstellt, die Du eben vermutlich  kurz siehst. Bei weiteren Verlauf des Codes wird an HTMLBody Dein eigener HMTL-Code , der auf das Bild verweist, zugewiesen, bzw.  HTMLBody wird damit überschrieben. D. h. das im Code definierte Bild ist auf irgendeine Art und Weise nicht verwendbar.


Setze mal einen Haltepunkt und durchfahre den Code mit Einzelschritt, prüfe dabei den Inhalt der Variablen.  Prüfe auch, ob die Bilddatei manuell im Signatur-Editor eingefügt werden kann.


Jonny

Hallo Franz,

wenn ich Einzelschritt mache sehe ich das der Pfad richtig eingestellt ist.
Die anderen Felder haben auch den von mir zugedachten Inhalt.

Das Bild läßt sich manuell einfügen. Ich habe es in der Signatur gelöscht und nochmal neu eingefügt.

Richtig ist das erst die Standardsignatur kommt (mit Bild) und danach die aus ACC.

Hier noch der Code von GetBoiler.

Function GetBoiler(ByVal sFile As String) As String

    Dim fso As Object
    Dim ts As Object
   
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
    GetBoiler = ts.readall
    ts.Close
End Function

Ach so, in der Anwendung kann der Benutzer aus vorgegebene Signaturen auswählen.
Dises habe ich zu testzwecken deaktiviert.

Gruß

Johann.

DF6GL

Hallo,

ok,

was steht denn in  Rs!signatur  drin?

Im Code wird dieser Wert als Bild-Datei interpretiert ( ...alt='' align=baseline src='" & Rs!signatur & "'></SPAN></P>"
)  und anschliessend als Name einer HTML-Datei, die den eigentlichen Signatur-HTML-Text beinhalten müsste/sollte (der dann in der Variablen "Signature" stehen müsste)  .. 

Das passt nicht zusammen.


Jonny

Hallo Franz,

in RS!Signatur steht:
C:\Dokumente und Einstellungen\Budde\Anwendungsdaten\Microsoft\Signatures\Borkum.htm
also der Pfad und Dateiname für die Signatur Text und Bild.

Wäre schön wenn du mir sagen könntest was ich falsch mache.

Gruß

Johann


DF6GL

Hallo,

dann brauchst Du zunächst nicht den extra Link auf rs!signatur im Code:

If IsNull(Rs!signatur) Or Rs!signatur = "" Then
   Else
       strbody = strbody & "<P class=MsoNormal align=left><SPAN style='FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 10pt'>"
       strbody = strbody & "<IMG style='WIDTH: 111px; HEIGHT: 95px' border=0 hspace=0 alt='' align=baseline src='" & Rs!signatur & "'></SPAN></P>"
   End If


Wenn es dann immer noch nicht geht, dann greift vermutlich  mein eingangs erwähnter Hinweis auf die unterschiedlichen Codierungen des HTML-Formates (der HTML-Signatur) durch die unterschiedichen HTML-Editoren..


Erstell dazu testweise eine neue Signatur direkt in Outlook unter Signaturen/Hinzufügen -
bearbeiten und Rechtsklick/Bild einfügen.  Nimm dazu NICHT Word..

Danach testet Du den Code mit dieser neu erstellten Signatur..


Jonny

Hallo Franz und natürlich alle anderen,

wenn ich den if weglasse bekomme ich das gleiche Ergebnis.
Das Bild ist immer als Link da und dann kann es nicht angezeigt werden.

Eine Signatur ohne Word geht meines Wissens nicht in Office 2007.
Es gab schon mal ein Kontrol wo man das aktivieren/deaktiveren konnte ist jetzt aber nicht mehr da.

Bei meiner konkreten Anforderung unterscheidet sich die Signatur nur im Text.

Wäre es möglich das Bild im Body einzufügen (nicht als Link) und
dann die Signatur ohne Bild dahinter?

Gruß

Johann

DF6GL

#13
Hallo,

ok,

versuch es mal so:

Sub EmailsendenHTML(MailAdresse, ZwDatei, ZwBetreff, ZwNachricht, ZwSignatur)
   'ZwDatei = Dateianhang, ZwBetreff = Betreff, ZwNachricht = Nachricht, ZwSignatur = ID der Signatur
   Dim DB As DAO.Database
   Dim Rs As DAO.Recordset
   Set DB = CurrentDb
   Set Rs = DB.OpenRecordset("Signatur", dbOpenDynaset)    ' Tabelle mit Namen der Signaturen

   Rs.FindFirst "ID = " & ZwSignatur
   If Rs.NoMatch Then
       MsgBox ("Tabelle Signatur fehlt oder defekt")
       Exit Sub
   End If
   Dim OutApp As Object
   Dim OutMail As Object
   Dim strbody As String
   Dim SigString As String
   Dim Signature As String
   Set OutApp = CreateObject("Outlook.Application")
   OutApp.Session.Logon
   Set OutMail = OutApp.CreateItem(0)
   strbody = ZwNachricht
   
       'Mail erstellen
   With OutMail
       .GetInspector.Display
 
       .GetInspector.CommandBars.ActiveMenuBar.Controls("Einfügen").Controls("Signatur").Controls(CStr(Rs!signatur)).Execute
 
        Signature =  .HTMLBody

       .Subject = ZwBetreff
       .To = MailAdresse
       '.CC = "test1@test.de"                 ' nicht benötigt
       If Len(ZwDatei) Then .Attachments.Add ZwDatei
       .HTMLBody = strbody & "<br><br>" & Signature
   End With
   Set OutApp = Nothing
   Set OutMail = Nothing
   
End Sub

   .GetInspector.CommandBars.ActiveMenuBar.Controls("Einfügen").Controls("Signatur").Controls("Test").Execute


Jonny

Hallo Franz,

das ist es.

Vielen Dank

und Grüße von der Grafschaft Bentheim zum Bodensee.

Johann